semantics3 0.04 → 0.10
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/Changes +3 -0
- data/README.md +143 -66
- data/lib/semantics3.rb +32 -18
- data/semantics3.gemspec +2 -2
- metadata +63 -49
- checksums.yaml +0 -7
data/Changes
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
Revision history for semantics3-ruby
|
|
2
2
|
|
|
3
|
+
0.04 11-03-2014
|
|
4
|
+
Use CGI.escape instead of URI.escape [Thanks to Mark Evans/ShopGenius App (mark@shopgeniusapp.com)]
|
|
5
|
+
|
|
3
6
|
0.03 07-02-2014
|
|
4
7
|
Made library thread safe [Thanks to Mark Evans/ShopGenius App (mark@shopgeniusapp.com)]
|
|
5
8
|
|
data/README.md
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
semantics3-ruby is a Ruby client for accessing the Semantics3 Products API, which provides structured information, including pricing histories, for a large number of products.
|
|
4
4
|
See https://www.semantics3.com for more information.
|
|
5
5
|
|
|
6
|
-
Quickstart guide: https://www.semantics3.com/quickstart
|
|
7
6
|
API documentation can be found at https://www.semantics3.com/docs/
|
|
8
7
|
|
|
9
8
|
## Installation
|
|
@@ -46,119 +45,199 @@ API_SECRET = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
|
|
46
45
|
sem3 = Semantics3::Products.new(API_KEY,API_SECRET)
|
|
47
46
|
```
|
|
48
47
|
|
|
49
|
-
### First
|
|
48
|
+
### First Request aka 'Hello World':
|
|
50
49
|
|
|
51
|
-
Let's
|
|
50
|
+
Let's run our first request! We are going to run a simple search fo the word "iPhone" as follows:
|
|
52
51
|
|
|
53
52
|
```ruby
|
|
54
|
-
# Build the
|
|
55
|
-
sem3.products_field( "
|
|
56
|
-
sem3.products_field( "brand", "Toshiba" )
|
|
53
|
+
# Build the request
|
|
54
|
+
sem3.products_field( "search", "iphone" )
|
|
57
55
|
|
|
58
|
-
#
|
|
56
|
+
# Run the request
|
|
59
57
|
productsHash = sem3.get_products()
|
|
60
58
|
|
|
61
|
-
# View the results of the
|
|
59
|
+
# View the results of the request
|
|
62
60
|
puts productsHash.to_json
|
|
63
61
|
```
|
|
64
62
|
|
|
65
|
-
##
|
|
63
|
+
## Sample Requests
|
|
66
64
|
|
|
67
|
-
The following
|
|
65
|
+
The following requests show you how to interface with some of the core functionality of the Semantics3 Products API:
|
|
68
66
|
|
|
69
|
-
###
|
|
67
|
+
### Pagination
|
|
70
68
|
|
|
71
|
-
|
|
69
|
+
The example in our "Hello World" script returns the first 10 results. In this example, we'll scroll to subsequent pages, beyond our initial request:
|
|
72
70
|
|
|
73
71
|
```ruby
|
|
74
|
-
# Build the
|
|
75
|
-
sem3.
|
|
72
|
+
# Build the request
|
|
73
|
+
sem3.products_field( "search", "iphone" )
|
|
76
74
|
|
|
77
|
-
#
|
|
78
|
-
|
|
75
|
+
# Run the request
|
|
76
|
+
productsHash = sem3.get_products()
|
|
79
77
|
|
|
80
|
-
# View the results of the
|
|
81
|
-
puts
|
|
78
|
+
# View the results of the request
|
|
79
|
+
puts productsHash.to_json
|
|
80
|
+
|
|
81
|
+
# Goto the next 'page'
|
|
82
|
+
page = 0
|
|
83
|
+
while (productsHash = sem3.iterate_products) do
|
|
84
|
+
page = page + 1
|
|
85
|
+
puts "We are at page = #{page}"
|
|
86
|
+
puts "The results for this page are:\n"
|
|
87
|
+
puts productsHash.to_json
|
|
88
|
+
end
|
|
82
89
|
```
|
|
83
90
|
|
|
84
|
-
###
|
|
91
|
+
### UPC Query
|
|
92
|
+
|
|
93
|
+
Running a UPC/EAN/GTIN query is as simple as running a search query:
|
|
94
|
+
|
|
95
|
+
```ruby
|
|
96
|
+
# Build the request
|
|
97
|
+
sem3.products_field( "upc", "883974958450" )
|
|
98
|
+
sem3.products_field( "field", ["name","gtins"] )
|
|
99
|
+
|
|
100
|
+
# Run the request
|
|
101
|
+
productsHash = sem3.get_products()
|
|
85
102
|
|
|
86
|
-
|
|
103
|
+
# View the results of the request
|
|
104
|
+
puts productsHash.to_json
|
|
105
|
+
```
|
|
87
106
|
|
|
88
|
-
|
|
107
|
+
### URL Query
|
|
108
|
+
|
|
109
|
+
Get the picture? You can run URL queries as follows:
|
|
89
110
|
|
|
90
111
|
```ruby
|
|
91
|
-
|
|
92
|
-
sem3.
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
sem3.products_field( "weight", "lt", 1500000 )
|
|
96
|
-
sem3.products_field( "sitedetails", "name", "newegg.com" )
|
|
97
|
-
sem3.products_field( "sitedetails", "latestoffers", "currency", "USD" )
|
|
98
|
-
sem3.products_field( "sitedetails", "latestoffers", "price", "gte", 100 )
|
|
112
|
+
sem3.products_field( "url", "http://www.walmart.com/ip/15833173" )
|
|
113
|
+
productsHash = sem3.get_products()
|
|
114
|
+
puts productsHash.to_json
|
|
115
|
+
```
|
|
99
116
|
|
|
100
|
-
|
|
101
|
-
sem3.remove( "products", "brand", "weight" )
|
|
117
|
+
### Price Filter
|
|
102
118
|
|
|
103
|
-
|
|
104
|
-
# results for your query
|
|
105
|
-
constructedJson = sem3.get_query_json( "products" )
|
|
106
|
-
puts constructedJson
|
|
119
|
+
Filter by price using the "lt" (less than) tag:
|
|
107
120
|
|
|
108
|
-
|
|
109
|
-
|
|
121
|
+
```ruby
|
|
122
|
+
sem3.products_field( "search", "iphone" )
|
|
123
|
+
sem3.products_field( "price", "lt", 300 )
|
|
124
|
+
productsHash = sem3.get_products()
|
|
125
|
+
puts productsHash.to_json
|
|
126
|
+
```
|
|
110
127
|
|
|
111
|
-
|
|
128
|
+
### Category ID Query
|
|
129
|
+
|
|
130
|
+
To lookup details about a cat_id, run your request against the categories resource:
|
|
131
|
+
|
|
132
|
+
```ruby
|
|
133
|
+
# Build the request
|
|
134
|
+
sem3.products_field( "cat_id", 4992 )
|
|
135
|
+
|
|
136
|
+
# Run the request
|
|
137
|
+
productsHash = sem3.get_products()
|
|
138
|
+
|
|
139
|
+
# View the results of the request
|
|
112
140
|
puts productsHash.to_json
|
|
113
141
|
```
|
|
114
142
|
|
|
115
|
-
|
|
143
|
+
## Webhooks
|
|
144
|
+
You can use webhooks to get near-real-time price updates from Semantics3.
|
|
145
|
+
|
|
146
|
+
### Creating a webhook
|
|
116
147
|
|
|
117
|
-
|
|
148
|
+
You can register a webhook with Semantics3 by sending a POST request to `"webhooks"` endpoint.
|
|
149
|
+
To verify that your URL is active, a GET request will be sent to your server with a `verification_code` parameter. Your server should respond with `verification_code` in the response body to complete the verification process.
|
|
118
150
|
|
|
119
151
|
```ruby
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
152
|
+
params = {
|
|
153
|
+
"webhook_uri" => "http://mydomain.com/webhooks-callback-url"
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
res = sem3.run_query("webhooks","POST",params)
|
|
157
|
+
puts res
|
|
158
|
+
```
|
|
159
|
+
To fetch existing webhooks
|
|
160
|
+
```ruby
|
|
161
|
+
res = sem3.run_query("webhooks","GET")
|
|
162
|
+
puts res
|
|
126
163
|
```
|
|
127
164
|
|
|
128
|
-
|
|
165
|
+
To remove a webhook
|
|
166
|
+
```ruby
|
|
167
|
+
webhook_id = "7JcGN81u"
|
|
168
|
+
endpoint = "webhooks/"+webhook_id
|
|
169
|
+
|
|
170
|
+
res = sem3.run_query(endpoint,"DELETE" )
|
|
171
|
+
puts res
|
|
172
|
+
```
|
|
129
173
|
|
|
130
|
-
|
|
174
|
+
### Registering events
|
|
175
|
+
Once you register a webhook, you can start adding events to it. Semantics3 server will send you notifications when these events occur.
|
|
176
|
+
To register events for a specific webhook send a POST request to the `"webhooks/{webhook_id}/events"` endpoint
|
|
131
177
|
|
|
132
|
-
|
|
178
|
+
```ruby
|
|
179
|
+
params = {
|
|
180
|
+
"type" => "price.change",
|
|
181
|
+
"product" => {
|
|
182
|
+
"sem3_id" => "1QZC8wchX62eCYS2CACmka"
|
|
183
|
+
},
|
|
184
|
+
"constraints" => {
|
|
185
|
+
"gte" => 10,
|
|
186
|
+
"lte" => 100
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
webhook_id = '7JcGN81u'
|
|
191
|
+
endpoint = "webhooks/#{webhook_id}/events"
|
|
192
|
+
|
|
193
|
+
eventObject = sem3.run_query(endpoint,"POST",params)
|
|
194
|
+
puts eventObject["id"]
|
|
195
|
+
puts eventObject["type"]
|
|
196
|
+
puts eventObject["product"]
|
|
197
|
+
```
|
|
133
198
|
|
|
199
|
+
To fetch all registered events for a give webhook
|
|
134
200
|
```ruby
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
sem3.add( "offers", "seller", ["LFleurs","Frys","Walmart"] )
|
|
138
|
-
sem3.add( "offers", "currency", "USD")
|
|
139
|
-
sem3.add( "offers", "price", "gte", 30)
|
|
140
|
-
sem3.add( "offers", "lastrecorded_at", "gte", 1348654600)
|
|
201
|
+
webhook_id = "7JcGN81u"
|
|
202
|
+
endpoint = "webhooks/#{webhook_id}/events"
|
|
141
203
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
offersHash = sem3.run_query( "offers" )
|
|
204
|
+
res = sem3.run_query(endpoint,"GET")
|
|
205
|
+
puts res
|
|
206
|
+
```
|
|
146
207
|
|
|
147
|
-
|
|
148
|
-
|
|
208
|
+
### Webhook Notifications
|
|
209
|
+
Once you have created a webhook and registered events on it, notifications will be sent to your registered webhook URI via a POST request when the corresponding events occur. Make sure that your server can accept POST requests. Here is how a sample notification object looks like
|
|
210
|
+
```javascript
|
|
211
|
+
{
|
|
212
|
+
"type": "price.change",
|
|
213
|
+
"event_id": "XyZgOZ5q",
|
|
214
|
+
"notification_id": "X4jsdDsW",
|
|
215
|
+
"changes": [{
|
|
216
|
+
"site": "abc.com",
|
|
217
|
+
"url": "http://www.abc.com/def",
|
|
218
|
+
"previous_price": 45.50,
|
|
219
|
+
"current_price": 41.00
|
|
220
|
+
}, {
|
|
221
|
+
"site": "walmart.com",
|
|
222
|
+
"url": "http://www.walmart.com/ip/20671263",
|
|
223
|
+
"previous_price": 34.00,
|
|
224
|
+
"current_price": 42.00
|
|
225
|
+
}]
|
|
226
|
+
}
|
|
149
227
|
```
|
|
150
228
|
|
|
151
229
|
## Contributing
|
|
152
230
|
|
|
153
231
|
Use GitHub's standard fork/commit/pull-request cycle. If you have any questions, email <support@semantics3.com>.
|
|
154
232
|
|
|
155
|
-
##
|
|
233
|
+
## Authors
|
|
156
234
|
|
|
157
235
|
* Sivamani VARUN <varun@semantics3.com>
|
|
236
|
+
* Mounarajan <mounarajan@semantics3.com>
|
|
158
237
|
|
|
159
238
|
## Copyright
|
|
160
239
|
|
|
161
|
-
Copyright (c)
|
|
240
|
+
Copyright (c) 2015 Semantics3 Inc.
|
|
162
241
|
|
|
163
242
|
## License
|
|
164
243
|
|
|
@@ -180,6 +259,4 @@ Copyright (c) 2013 Semantics3 Inc.
|
|
|
180
259
|
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
181
260
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
182
261
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
183
|
-
DEALINGS IN THE SOFTWARE.
|
|
184
|
-
|
|
185
|
-
|
|
262
|
+
DEALINGS IN THE SOFTWARE.
|
data/lib/semantics3.rb
CHANGED
|
@@ -22,21 +22,37 @@ module Semantics3
|
|
|
22
22
|
raise Error.new('API Credentials Missing','You did not supply an api_key. Please sign up at https://semantics3.com/ to obtain your api_key.','api_key') if api_key == ''
|
|
23
23
|
raise Error.new('API Credentials Missing','You did not supply an api_secret. Please sign up at https://semantics3.com/ to obtain your api_secret.','api_secret') if api_secret == ''
|
|
24
24
|
|
|
25
|
-
consumer = OAuth::Consumer.new(@api_key, @api_secret)
|
|
26
|
-
@auth = OAuth::AccessToken.new(consumer)
|
|
25
|
+
@consumer = OAuth::Consumer.new(@api_key, @api_secret)
|
|
26
|
+
@auth = OAuth::AccessToken.new(@consumer)
|
|
27
27
|
end
|
|
28
28
|
|
|
29
29
|
private
|
|
30
|
-
|
|
30
|
+
|
|
31
|
+
#def oauth(response)
|
|
31
32
|
#returns a value
|
|
32
|
-
def _make_request(endpoint, params)
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
33
|
+
def _make_request(endpoint,method = "GET",params)
|
|
34
|
+
base_url = 'https://api-staging.semantics3.com/v1/' #+ endpoint + '?q=' + CGI.escape(params)
|
|
35
|
+
|
|
36
|
+
if method == "GET"
|
|
37
|
+
request_data = CGI.escape(params)
|
|
38
|
+
encoded_url = base_url + endpoint + '?q=' + request_data
|
|
39
|
+
response = @auth.get(encoded_url)
|
|
40
|
+
JSON.parse response.body
|
|
41
|
+
elsif method == "DELETE"
|
|
42
|
+
url = base_url + endpoint
|
|
43
|
+
response = @auth.delete(url,params)
|
|
44
|
+
JSON.parse response.body
|
|
45
|
+
else
|
|
46
|
+
url = URI(base_url+endpoint)
|
|
47
|
+
request = Net::HTTP::Post.new url.request_uri,params
|
|
48
|
+
http = Net::HTTP.new url.host, url.port
|
|
49
|
+
http.use_ssl = true
|
|
50
|
+
http.verify_mode = OpenSSL::SSL::VERIFY_PEER
|
|
51
|
+
request.oauth! http, @consumer,@auth
|
|
52
|
+
http.start
|
|
53
|
+
response = http.request request
|
|
54
|
+
JSON.parse response.body
|
|
55
|
+
end
|
|
40
56
|
end
|
|
41
57
|
|
|
42
58
|
end
|
|
@@ -204,7 +220,7 @@ module Semantics3
|
|
|
204
220
|
@query_result={}
|
|
205
221
|
end
|
|
206
222
|
|
|
207
|
-
def run_query(endpoint,*params)
|
|
223
|
+
def run_query(endpoint,method = "GET",*params)
|
|
208
224
|
|
|
209
225
|
#-- If not defined endpoint, throw error
|
|
210
226
|
if not ( endpoint.kind_of? String and endpoint != '')
|
|
@@ -214,7 +230,7 @@ module Semantics3
|
|
|
214
230
|
data = params[0]
|
|
215
231
|
|
|
216
232
|
if data == nil
|
|
217
|
-
@query_result = _make_request(endpoint,@data_query[endpoint].to_json)
|
|
233
|
+
@query_result = _make_request(endpoint,method,@data_query[endpoint].to_json)
|
|
218
234
|
else
|
|
219
235
|
if not data.is_a?(Hash) and not data.is_a?(String)
|
|
220
236
|
#-- Throw error - neither string nor hash
|
|
@@ -222,12 +238,12 @@ module Semantics3
|
|
|
222
238
|
else
|
|
223
239
|
#-- Data is Hash ref. Great just send it.
|
|
224
240
|
if data.is_a?(Hash)
|
|
225
|
-
@query_result = _make_request(endpoint,data
|
|
241
|
+
@query_result = _make_request(endpoint,method,data)
|
|
226
242
|
#-- Data is string
|
|
227
243
|
elsif data.is_a?(String)
|
|
228
244
|
#-- Check if it's valid JSON
|
|
229
245
|
if JSON.is_json?(data)
|
|
230
|
-
@query_result = _make_request(endpoint,data)
|
|
246
|
+
@query_result = _make_request(endpoint,method,data)
|
|
231
247
|
else
|
|
232
248
|
raise Error.new('Invalid Input','You submitted an invalid JSON query string')
|
|
233
249
|
end
|
|
@@ -261,6 +277,4 @@ module JSON
|
|
|
261
277
|
false
|
|
262
278
|
end
|
|
263
279
|
end
|
|
264
|
-
end
|
|
265
|
-
|
|
266
|
-
|
|
280
|
+
end
|
data/semantics3.gemspec
CHANGED
|
@@ -2,10 +2,10 @@ $:.unshift(File.join(File.dirname(__FILE__), 'lib'))
|
|
|
2
2
|
|
|
3
3
|
spec = Gem::Specification.new do |s|
|
|
4
4
|
s.name = 'semantics3'
|
|
5
|
-
s.version = '0.
|
|
5
|
+
s.version = '0.10'
|
|
6
6
|
s.summary = 'Ruby bindings for the Semantics3 API'
|
|
7
7
|
s.description = 'Get access to a constantly updated database of product and price data. See https://semantics3.com/ for more information.'
|
|
8
|
-
s.authors = ['Sivamani Varun']
|
|
8
|
+
s.authors = ['Sivamani Varun', 'Mounarajan P A']
|
|
9
9
|
s.email = ['varun@semantics3.com']
|
|
10
10
|
s.homepage = 'https://semantics3.com'
|
|
11
11
|
s.require_paths = %w{lib}
|
metadata
CHANGED
|
@@ -1,52 +1,69 @@
|
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: semantics3
|
|
3
|
-
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: '0.10'
|
|
5
|
+
prerelease:
|
|
5
6
|
platform: ruby
|
|
6
|
-
authors:
|
|
7
|
+
authors:
|
|
7
8
|
- Sivamani Varun
|
|
9
|
+
- Mounarajan P A
|
|
8
10
|
autorequire:
|
|
9
11
|
bindir: bin
|
|
10
12
|
cert_chain: []
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
- !ruby/object:Gem::Dependency
|
|
13
|
+
date: 2015-03-31 00:00:00.000000000 Z
|
|
14
|
+
dependencies:
|
|
15
|
+
- !ruby/object:Gem::Dependency
|
|
15
16
|
name: json
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
requirements:
|
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
|
18
|
+
none: false
|
|
19
|
+
requirements:
|
|
19
20
|
- - ~>
|
|
20
|
-
- !ruby/object:Gem::Version
|
|
21
|
-
version:
|
|
22
|
-
- -
|
|
23
|
-
- !ruby/object:Gem::Version
|
|
21
|
+
- !ruby/object:Gem::Version
|
|
22
|
+
version: '1.8'
|
|
23
|
+
- - ! '>='
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
24
25
|
version: 1.8.1
|
|
25
26
|
type: :runtime
|
|
26
|
-
version_requirements: *id001
|
|
27
|
-
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: oauth
|
|
29
27
|
prerelease: false
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
29
|
+
none: false
|
|
30
|
+
requirements:
|
|
31
|
+
- - ~>
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '1.8'
|
|
34
|
+
- - ! '>='
|
|
35
|
+
- !ruby/object:Gem::Version
|
|
36
|
+
version: 1.8.1
|
|
37
|
+
- !ruby/object:Gem::Dependency
|
|
38
|
+
name: oauth
|
|
39
|
+
requirement: !ruby/object:Gem::Requirement
|
|
40
|
+
none: false
|
|
41
|
+
requirements:
|
|
32
42
|
- - ~>
|
|
33
|
-
- !ruby/object:Gem::Version
|
|
34
|
-
version:
|
|
35
|
-
- -
|
|
36
|
-
- !ruby/object:Gem::Version
|
|
43
|
+
- !ruby/object:Gem::Version
|
|
44
|
+
version: '0.4'
|
|
45
|
+
- - ! '>='
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
37
47
|
version: 0.4.6
|
|
38
48
|
type: :runtime
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
none: false
|
|
52
|
+
requirements:
|
|
53
|
+
- - ~>
|
|
54
|
+
- !ruby/object:Gem::Version
|
|
55
|
+
version: '0.4'
|
|
56
|
+
- - ! '>='
|
|
57
|
+
- !ruby/object:Gem::Version
|
|
58
|
+
version: 0.4.6
|
|
59
|
+
description: Get access to a constantly updated database of product and price data.
|
|
60
|
+
See https://semantics3.com/ for more information.
|
|
61
|
+
email:
|
|
42
62
|
- varun@semantics3.com
|
|
43
63
|
executables: []
|
|
44
|
-
|
|
45
64
|
extensions: []
|
|
46
|
-
|
|
47
65
|
extra_rdoc_files: []
|
|
48
|
-
|
|
49
|
-
files:
|
|
66
|
+
files:
|
|
50
67
|
- .gitignore
|
|
51
68
|
- Changes
|
|
52
69
|
- Gemfile
|
|
@@ -57,29 +74,26 @@ files:
|
|
|
57
74
|
- semantics3.gemspec
|
|
58
75
|
homepage: https://semantics3.com
|
|
59
76
|
licenses: []
|
|
60
|
-
|
|
61
|
-
metadata: {}
|
|
62
|
-
|
|
63
77
|
post_install_message:
|
|
64
78
|
rdoc_options: []
|
|
65
|
-
|
|
66
|
-
require_paths:
|
|
79
|
+
require_paths:
|
|
67
80
|
- lib
|
|
68
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
- !ruby/object:Gem::Version
|
|
73
|
-
version:
|
|
74
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
75
|
-
|
|
76
|
-
|
|
81
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
82
|
+
none: false
|
|
83
|
+
requirements:
|
|
84
|
+
- - ! '>='
|
|
85
|
+
- !ruby/object:Gem::Version
|
|
86
|
+
version: '0'
|
|
87
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
88
|
+
none: false
|
|
89
|
+
requirements:
|
|
90
|
+
- - ! '>='
|
|
91
|
+
- !ruby/object:Gem::Version
|
|
92
|
+
version: '0'
|
|
77
93
|
requirements: []
|
|
78
|
-
|
|
79
94
|
rubyforge_project:
|
|
80
|
-
rubygems_version:
|
|
95
|
+
rubygems_version: 1.8.23
|
|
81
96
|
signing_key:
|
|
82
|
-
specification_version:
|
|
97
|
+
specification_version: 3
|
|
83
98
|
summary: Ruby bindings for the Semantics3 API
|
|
84
99
|
test_files: []
|
|
85
|
-
|
checksums.yaml
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
SHA512:
|
|
3
|
-
metadata.gz: ec1c393a4622410f28f72e856d70bcfb86a2ae4fa7a833379d699900d51a9b91e0e81b179227db0163083bbe8212e9bfc10d13eda005dac9a73810a9f397dafe
|
|
4
|
-
data.tar.gz: c31391dfd60d7d21a02fb485c162eeb23d3d24fb58cf8f60ff5de29feb4aae22358295cb5285290b9ecce49c2b104d0e12d649e9dc9c4a6930047654dc387ce8
|
|
5
|
-
SHA1:
|
|
6
|
-
metadata.gz: af7ad4b7caafa920f0ba0f66e27e4d94d1d02600
|
|
7
|
-
data.tar.gz: 2dbc54c3143cfc6adebd9e82a83f5fded103e13b
|