refreshingmenus_api 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.md CHANGED
@@ -24,6 +24,36 @@ Or install it yourself as:
24
24
  result.first[:id] # => "194ebdcc-fcd9-11e1-b4ac-5254006b3bb5"
25
25
  result.first[:menus].first[:title] # => "Pizzeria Kaart"
26
26
 
27
+ A query to match businesses / venues / places based on a phone number:
28
+
29
+ result = api.places(
30
+ :phone => '+31-(0)-10-2065151',
31
+ :country_code => 'NL'
32
+ )
33
+ result.first[:normalized_phone] # => "31102065151"
34
+ result.first[:id] # => "194e9016-fcd9-11e1-b4ac-5254006b3bb5"
35
+
36
+ This phone number is normalized based on the country_code passed. So '010-2065151' and '+31-(0)-10-2065151' with country_code 'NL' will be normalized to '31102065151'.
37
+
38
+ Because sometimes multiple places have the same phone number we can do more specific matching:
39
+
40
+ result = api.places(
41
+ :q => "#{place.name} #{place.postal_code}", # Matches at least one word.
42
+ :country_code => place.country_code, # Eg. 'NL'
43
+ :lat => place.lat,
44
+ :lng => place.lng,
45
+ :distance => '0.2', # 200 meter
46
+ :phone => place.phone_number # Eg. '010-12341234'.
47
+ )
48
+
49
+ ## Widget usage
50
+
51
+ RefreshingmenusApi::Widget.tag(:place_id => 'some_place_id', :widget_token => 'some_token')
52
+
53
+ This will result in a script tag like:
54
+
55
+ <script id='rm-menuwidget' src='http://www.refreshingmenus.com/api/v1/widget.js?dom_id=rm-menuwidget&place_id=some_place_id&widget_token=some_token'></script>"
56
+
27
57
  ## Contributing
28
58
 
29
59
  1. Fork it
@@ -1,4 +1,5 @@
1
1
  require 'refreshingmenus_api/version'
2
+ require 'refreshingmenus_api/widget'
2
3
 
3
4
  require 'httparty'
4
5
  require 'active_support/core_ext'
@@ -28,6 +29,9 @@ module RefreshingmenusApi
28
29
 
29
30
  attr_reader :auth_token, :version, :format
30
31
 
32
+ # Options:
33
+ # * :auth_token - Your RefreshingMenus Authentication token (API)
34
+ # * :version - Version (defaults to 1)
31
35
  def initialize(options = {})
32
36
  @auth_token = options[:auth_token]
33
37
  @version = options[:version] || '1'
@@ -1,3 +1,3 @@
1
1
  module RefreshingmenusApi
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -0,0 +1,21 @@
1
+ module RefreshingmenusApi
2
+ class Widget
3
+
4
+ # Options:
5
+ # * widget_token (required) - Your RefreshingMenus Widget token
6
+ # * place_id (required) - The RefreshingMenus Place ID (UUID)
7
+ # * secure - Boolean, we'll use https if true
8
+ # * style - The style name we should use (default: 'default'), use 'none' for no styling (if you embed your own styling)
9
+ def self.tag(options)
10
+ raise ArgumentError, "Expected options argument to be a Hash, got #{options.inspect}." if not options.is_a?(Hash)
11
+ options[:dom_id] = 'rm-menuwidget'
12
+ raise ArgumentError, "Expected a :place_id as option but got #{options[:place_id].inspect}." if not options[:place_id].is_a?(String)
13
+ raise ArgumentError, "Expected a :widget_token as option but got #{options[:widget_token].inspect}." if not options[:widget_token].is_a?(String)
14
+ secure = options.delete(:secure)
15
+ version = options.delete(:version) || '1'
16
+ src = "#{secure ? 'https' : 'http'}://www.refreshingmenus.com/api/v#{version}/widget.js?#{options.to_param}"
17
+ return "<script id='#{options[:dom_id]}' src='#{src}'></script>"
18
+ end
19
+
20
+ end
21
+ end
metadata CHANGED
@@ -1,55 +1,56 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: refreshingmenus_api
3
- version: !ruby/object:Gem::Version
4
- version: 0.0.2
5
- prerelease:
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 3
9
+ version: 0.0.3
6
10
  platform: ruby
7
- authors:
11
+ authors:
8
12
  - Joost Hietbrink
9
13
  autorequire:
10
14
  bindir: bin
11
15
  cert_chain: []
12
- date: 2012-09-13 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
16
+
17
+ date: 2012-09-17 00:00:00 +02:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
15
21
  name: httparty
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
22
- type: :runtime
23
22
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: '0'
30
- - !ruby/object:Gem::Dependency
31
- name: activesupport
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: '0'
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ version: "0"
38
30
  type: :runtime
31
+ version_requirements: *id001
32
+ - !ruby/object:Gem::Dependency
33
+ name: activesupport
39
34
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
35
+ requirement: &id002 !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ segments:
40
+ - 0
41
+ version: "0"
42
+ type: :runtime
43
+ version_requirements: *id002
46
44
  description: Ruby API to use the Refreshing Menus REST API.
47
- email:
45
+ email:
48
46
  - joost@joopp.com
49
47
  executables: []
48
+
50
49
  extensions: []
50
+
51
51
  extra_rdoc_files: []
52
- files:
52
+
53
+ files:
53
54
  - .gitignore
54
55
  - Gemfile
55
56
  - LICENSE
@@ -57,30 +58,37 @@ files:
57
58
  - Rakefile
58
59
  - lib/refreshingmenus_api.rb
59
60
  - lib/refreshingmenus_api/version.rb
61
+ - lib/refreshingmenus_api/widget.rb
60
62
  - refreshingmenus_api.gemspec
63
+ has_rdoc: true
61
64
  homepage: http://www.refreshingmenus.com
62
65
  licenses: []
66
+
63
67
  post_install_message:
64
68
  rdoc_options: []
65
- require_paths:
69
+
70
+ require_paths:
66
71
  - lib
67
- required_ruby_version: !ruby/object:Gem::Requirement
68
- none: false
69
- requirements:
70
- - - ! '>='
71
- - !ruby/object:Gem::Version
72
- version: '0'
73
- required_rubygems_version: !ruby/object:Gem::Requirement
74
- none: false
75
- requirements:
76
- - - ! '>='
77
- - !ruby/object:Gem::Version
78
- version: '0'
72
+ required_ruby_version: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ segments:
77
+ - 0
78
+ version: "0"
79
+ required_rubygems_version: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ segments:
84
+ - 0
85
+ version: "0"
79
86
  requirements: []
87
+
80
88
  rubyforge_project:
81
- rubygems_version: 1.8.24
89
+ rubygems_version: 1.3.6
82
90
  signing_key:
83
91
  specification_version: 3
84
92
  summary: Ruby API to use the Refreshing Menus REST API.
85
93
  test_files: []
86
- has_rdoc:
94
+