Skip to content

Instantly share code, notes, and snippets.

@jlecour
Last active August 29, 2015 14:02
Show Gist options
  • Save jlecour/a99a4f42edadf5d801e5 to your computer and use it in GitHub Desktop.
Save jlecour/a99a4f42edadf5d801e5 to your computer and use it in GitHub Desktop.

Revisions

  1. jlecour revised this gist Jun 16, 2014. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion better_protected.rb
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,6 @@
    def distance_script_field(name: "distance", field: "lat_lng", lat:, lng:)
    valid_pattern = /\A[\w]+\Z/
    valid_pattern.match(name) or fail(ArgumentError, "Invalid value for name: #{field.inspect}")
    valid_pattern.match(name) or fail(ArgumentError, "Invalid value for name: #{name.inspect}")
    valid_pattern.match(field) or fail(ArgumentError, "Invalid value for field: #{field.inspect}")
    Float(lat) rescue raise(ArgumentError, "Invalid value for lat: #{lat.inspect}")
    Float(lng) rescue raise(ArgumentError, "Invalid value for lng: #{lng.inspect}")
  2. jlecour created this gist Jun 16, 2014.
    17 changes: 17 additions & 0 deletions better_protected.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,17 @@
    def distance_script_field(name: "distance", field: "lat_lng", lat:, lng:)
    valid_pattern = /\A[\w]+\Z/
    valid_pattern.match(name) or fail(ArgumentError, "Invalid value for name: #{field.inspect}")
    valid_pattern.match(field) or fail(ArgumentError, "Invalid value for field: #{field.inspect}")
    Float(lat) rescue raise(ArgumentError, "Invalid value for lat: #{lat.inspect}")
    Float(lng) rescue raise(ArgumentError, "Invalid value for lng: #{lng.inspect}")

    {
    name => {
    script: "doc['#{field}'].arcDistanceInKm(lat,lon)",
    params: {
    lat: lat,
    lon: lng
    }
    }
    }
    end
    11 changes: 11 additions & 0 deletions not_protected.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,11 @@
    def distance_script_field(name: "distance", field: "lat_lng", lat:, lng:)
    {
    name => {
    script: "doc['#{field}'].arcDistanceInKm(lat,lon)",
    params: {
    lat: lat,
    lon: lng
    }
    }
    }
    end