word_reference 0.0.1
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/.gitignore +18 -0
- data/Gemfile +7 -0
- data/LICENSE +22 -0
- data/README.md +127 -0
- data/Rakefile +2 -0
- data/lib/word_reference.rb +13 -0
- data/lib/word_reference/configurable.rb +22 -0
- data/lib/word_reference/dictionary.rb +50 -0
- data/lib/word_reference/query.rb +50 -0
- data/lib/word_reference/translation.rb +39 -0
- data/lib/word_reference/version.rb +3 -0
- data/spec/dictionary_spec.rb +48 -0
- data/spec/query_spec.rb +31 -0
- data/spec/translation_spec.rb +16 -0
- data/spec/wrjson.yml +247 -0
- data/word_reference.gemspec +17 -0
- metadata +67 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2012 Laila Winner, Elliot Shiu
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,127 @@
|
|
1
|
+
# WordReference
|
2
|
+
|
3
|
+
Authors: [malandrina](https://github.com/malandrina), [sandbochs](https://github.com/sandbochs)
|
4
|
+
|
5
|
+
A Ruby wrapper for the [WordReference.com](http://www.wordreference.com) Dictionary API
|
6
|
+
|
7
|
+
Documentation for the API can be found here: http://www.wordreference.com/docs/api.aspx
|
8
|
+
|
9
|
+
## TODO
|
10
|
+
|
11
|
+
- Handle exceptions
|
12
|
+
- Handle errors from WordReference.com API
|
13
|
+
- Add interface for thesaurus API
|
14
|
+
|
15
|
+
## Installation
|
16
|
+
|
17
|
+
Add this line to your application's Gemfile:
|
18
|
+
|
19
|
+
gem 'word_reference'
|
20
|
+
|
21
|
+
And then execute:
|
22
|
+
|
23
|
+
$ bundle
|
24
|
+
|
25
|
+
Or install it yourself as:
|
26
|
+
|
27
|
+
$ gem install word_reference
|
28
|
+
|
29
|
+
## Usage
|
30
|
+
|
31
|
+
Include WordReference module
|
32
|
+
|
33
|
+
```ruby
|
34
|
+
include WordReference
|
35
|
+
```
|
36
|
+
|
37
|
+
In order to query the WordReference.com API, you will need an API key. You can get one here: http://www.wordreference.com/docs/APIregistration.aspx
|
38
|
+
|
39
|
+
Configure your API key
|
40
|
+
|
41
|
+
```ruby
|
42
|
+
WordReference.configure do |config|
|
43
|
+
config.api_key = YOUR_API_KEY
|
44
|
+
end
|
45
|
+
```
|
46
|
+
|
47
|
+
Create a new dictionary
|
48
|
+
|
49
|
+
A dictionary is referenced by a four-letter code comprising the original language and target language. Note that the WordReference.com API currently supports translations to or from English. If the dictionary does not exist (ex. 'czzh'), the API will return an error message. A list of two-letter language codes is provided below.
|
50
|
+
|
51
|
+
```ruby
|
52
|
+
french_dictionary = Dictionary.new('enfr')
|
53
|
+
```
|
54
|
+
|
55
|
+
- Arabic: ar
|
56
|
+
- Chinese: zh
|
57
|
+
- Czech: cz
|
58
|
+
- English: en
|
59
|
+
- French: fr
|
60
|
+
- Greek: gr
|
61
|
+
- Italian: it
|
62
|
+
- Japanese: ja
|
63
|
+
- Korean: ko
|
64
|
+
- Polish: pl
|
65
|
+
- Portuguese: pt
|
66
|
+
- Romanian: ro
|
67
|
+
- Spanish: es
|
68
|
+
- Turkish: tr
|
69
|
+
|
70
|
+
Change dictionary
|
71
|
+
|
72
|
+
```ruby
|
73
|
+
french_dictionary.change_language('iten')
|
74
|
+
# Or create another dictionary
|
75
|
+
italian_dictionary = Dictionary.new('iten')
|
76
|
+
```
|
77
|
+
|
78
|
+
Query API with term
|
79
|
+
|
80
|
+
Query terms which include special characters should be converted to UTF-8 Base 16. ("más" => "m%C3%A1s")
|
81
|
+
|
82
|
+
[UTF Converter](http://macchiato.com/unicode/convert.html)
|
83
|
+
|
84
|
+
```ruby
|
85
|
+
# Returns a Query object
|
86
|
+
query = italian_dictionary.query('chiave')
|
87
|
+
```
|
88
|
+
|
89
|
+
Get query results
|
90
|
+
|
91
|
+
```ruby
|
92
|
+
# Returns an array of translations
|
93
|
+
query.results
|
94
|
+
```
|
95
|
+
|
96
|
+
When #query is called on a dictionary, a collection of translation objects is returned.
|
97
|
+
|
98
|
+
Get original search term
|
99
|
+
|
100
|
+
```ruby
|
101
|
+
translation = query.results.first
|
102
|
+
translation.search_term => {"term"=>"chiave", "POS"=>"nf", "sense"=>"strumento per aprire", "usage"=>"letterale"}
|
103
|
+
translation.search_term['term'] => 'chiave'
|
104
|
+
translation.search_term['POS'] => 'nf' # 'POS' stands for 'Particle of Speech'
|
105
|
+
translation.search_term['sense'] => 'strumento per aprire'
|
106
|
+
translation.search_term['usage'] => 'letterale'
|
107
|
+
```
|
108
|
+
|
109
|
+
Get translations
|
110
|
+
|
111
|
+
```ruby
|
112
|
+
translation = query.results.first
|
113
|
+
first = translation.results.first
|
114
|
+
first => {"term"=>"key", "POS"=>"n", "sense"=>""}
|
115
|
+
first['term'] => 'key'
|
116
|
+
first['POS'] => 'n' # noun
|
117
|
+
first['sense'] => '' # no sense
|
118
|
+
first['usage'] => nil
|
119
|
+
```
|
120
|
+
|
121
|
+
## Contributing
|
122
|
+
|
123
|
+
1. Fork it
|
124
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
125
|
+
3. Commit your changes (`git commit -am 'Added some feature'`)
|
126
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
127
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
require_relative 'word_reference/version'
|
2
|
+
require_relative 'word_reference/configurable'
|
3
|
+
require_relative 'word_reference/dictionary'
|
4
|
+
|
5
|
+
module WordReference
|
6
|
+
|
7
|
+
# Includes Configurable module as long as WordReference
|
8
|
+
# is also included in application
|
9
|
+
def self.included(receiver)
|
10
|
+
receiver.send(:include, WordReference::Configurable)
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module WordReference
|
2
|
+
|
3
|
+
module Configurable
|
4
|
+
|
5
|
+
attr_writer :api_key
|
6
|
+
|
7
|
+
# Array of key NAMES used to configure settings before
|
8
|
+
# call to WordReference.com API is made
|
9
|
+
class << self
|
10
|
+
def keys
|
11
|
+
@keys ||= [:api_key]
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def configure
|
16
|
+
yield self
|
17
|
+
self
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require 'open-uri'
|
2
|
+
require 'net/http'
|
3
|
+
require_relative 'query'
|
4
|
+
|
5
|
+
module WordReference
|
6
|
+
|
7
|
+
class Dictionary
|
8
|
+
include WordReference
|
9
|
+
include WordReference::Configurable
|
10
|
+
|
11
|
+
attr_reader :name, :api_key
|
12
|
+
|
13
|
+
BASE_URL = "http://api.wordreference.com"
|
14
|
+
|
15
|
+
def initialize(dictionary_name)
|
16
|
+
@name = dictionary_name
|
17
|
+
config
|
18
|
+
end
|
19
|
+
|
20
|
+
def change_language(dictionary_name)
|
21
|
+
@name = dictionary_name
|
22
|
+
end
|
23
|
+
|
24
|
+
def query(term)
|
25
|
+
Query.from_json(api_call(term))
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
# Configures each setting for API call
|
31
|
+
def config
|
32
|
+
WordReference::Configurable.keys.each do |key|
|
33
|
+
instance_variable_set(:"@#{key}", WordReference.instance_variable_get(:"@#{key}"))
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
### test using #send
|
38
|
+
### use FakeWeb
|
39
|
+
## testing that get_response is being called on Net::HTTP and that parse is being called on URI
|
40
|
+
def api_call(term)
|
41
|
+
Net::HTTP.get_response(URI.parse(url(term))).body
|
42
|
+
end
|
43
|
+
|
44
|
+
def url(term)
|
45
|
+
"#{BASE_URL}/0.8/#{api_key}/json/#{name}/#{term}"
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require 'json'
|
2
|
+
require_relative 'translation'
|
3
|
+
|
4
|
+
module WordReference
|
5
|
+
|
6
|
+
class Query
|
7
|
+
|
8
|
+
attr_reader :translations
|
9
|
+
|
10
|
+
def initialize(translations_array=[])
|
11
|
+
@translations = translations_array
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.from_json(api_data)
|
15
|
+
terms = []
|
16
|
+
new_query = self.new
|
17
|
+
data = JSON::load(api_data)
|
18
|
+
terms = terms_without_labels(data) # Removes term labels
|
19
|
+
terms = clean_terms(terms) # Remove Original, LINES, and END hashes
|
20
|
+
terms = term_translations(terms) # Strips everything but the actual translations
|
21
|
+
|
22
|
+
# Create each translation object and add to translations array
|
23
|
+
terms.each { |query_data| new_query.add_translation(Translation.from_query(query_data.values)) }
|
24
|
+
new_query
|
25
|
+
end
|
26
|
+
|
27
|
+
def results
|
28
|
+
@translations.map { |translation| translation }
|
29
|
+
end
|
30
|
+
|
31
|
+
def add_translation(translation)
|
32
|
+
@translations << translation
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.terms_without_labels(data)
|
36
|
+
data.map { |term| term[1] }
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.clean_terms(terms)
|
40
|
+
3.times { terms.pop }
|
41
|
+
terms
|
42
|
+
end
|
43
|
+
|
44
|
+
def self.term_translations(terms)
|
45
|
+
terms.map { |translation| translation["PrincipalTranslations"].values }.flatten
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module WordReference
|
2
|
+
|
3
|
+
class Translation
|
4
|
+
|
5
|
+
attr_reader :search_term, :results
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
@search_term = {}
|
9
|
+
@results = []
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.from_query(data_array)
|
13
|
+
trans = self.new
|
14
|
+
trans.send(:strip_note!, data_array)
|
15
|
+
trans.send(:set_search_term!, data_array.shift)
|
16
|
+
trans.send(:set_translations!, data_array)
|
17
|
+
trans
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
# Results from the WordReference.com API include
|
23
|
+
# a 'note' field that is rarely populated and
|
24
|
+
# does not seem very useful.
|
25
|
+
def strip_note!(data_array)
|
26
|
+
data_array.pop
|
27
|
+
end
|
28
|
+
|
29
|
+
def set_search_term!(original_hash)
|
30
|
+
search_term.replace(original_hash)
|
31
|
+
end
|
32
|
+
|
33
|
+
def set_translations!(translations_array)
|
34
|
+
results.replace(translations_array)
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require_relative 'spec_helper'
|
2
|
+
|
3
|
+
describe WordReference::Dictionary do
|
4
|
+
|
5
|
+
API_KEY = "12345"
|
6
|
+
DICTIONARY = 'enfr'
|
7
|
+
|
8
|
+
before do
|
9
|
+
WordReference.configure { |config| config.api_key = API_KEY }
|
10
|
+
end
|
11
|
+
|
12
|
+
let(:dictionary) { WordReference::Dictionary.new(DICTIONARY)}
|
13
|
+
|
14
|
+
context "initialization" do
|
15
|
+
it "inherits configuration from module" do
|
16
|
+
dictionary.instance_variable_get(:@api_key).should eq (API_KEY)
|
17
|
+
end
|
18
|
+
|
19
|
+
it "is initialized with a WordReference dictionary name" do
|
20
|
+
dictionary.instance_variable_get(:@name).should eq ("enfr")
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
context "setting WordReference dictionary" do
|
25
|
+
it "changes the WordReference dictionary" do
|
26
|
+
expect{ dictionary.change_language('fren')
|
27
|
+
}.to change { dictionary.instance_variable_get(:@name)
|
28
|
+
}.from("enfr").to("fren")
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
context "querying the WordReference API" do
|
33
|
+
it "queries the WordReference API" do
|
34
|
+
dictionary.should_receive(:api_call)
|
35
|
+
Query.should_receive(:from_json)
|
36
|
+
dictionary.query('term')
|
37
|
+
end
|
38
|
+
|
39
|
+
it "receives the body from the API" do
|
40
|
+
term = 'hello'
|
41
|
+
url = "http://api.wordreference.com/0.8/#{API_KEY}/json/#{DICTIONARY}/#{term}"
|
42
|
+
FakeWeb.register_uri(:get, url, :body => "Bonjour")
|
43
|
+
dictionary.send(:api_call, term).should eq "Bonjour"
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
data/spec/query_spec.rb
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
require_relative 'spec_helper'
|
2
|
+
|
3
|
+
describe WordReference::Query do
|
4
|
+
let(:query) { Query.new }
|
5
|
+
let(:api_data) { YAML.load_file('spec/wrjson.yml') }
|
6
|
+
|
7
|
+
it "adds a translation" do
|
8
|
+
expect { query.add_translation(:term)
|
9
|
+
}.to change { query.translations.length
|
10
|
+
}.by(1)
|
11
|
+
end
|
12
|
+
|
13
|
+
it "can return the results" do
|
14
|
+
query.add_translation(:term)
|
15
|
+
query.results.should eq ([:term])
|
16
|
+
end
|
17
|
+
|
18
|
+
context "#self.from_json" do
|
19
|
+
let(:query2) { Query.from_json(api_data) }
|
20
|
+
let(:translation) { query2.results.first }
|
21
|
+
|
22
|
+
it "has the correct original search term" do
|
23
|
+
translation.search_term['term'].should eq('chiave')
|
24
|
+
end
|
25
|
+
|
26
|
+
it "has the correct translations" do
|
27
|
+
translation.results.first.values.should include('key')
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require_relative 'spec_helper'
|
2
|
+
|
3
|
+
describe WordReference::Translation do
|
4
|
+
|
5
|
+
context "from query" do
|
6
|
+
let (:translation) { Translation.from_query([{ :original => true }, :results, :note]) }
|
7
|
+
it "has an original term" do
|
8
|
+
translation.search_term.should eq({ :original => true })
|
9
|
+
end
|
10
|
+
|
11
|
+
it "has translation results" do
|
12
|
+
translation.results.should eq([:results])
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
data/spec/wrjson.yml
ADDED
@@ -0,0 +1,247 @@
|
|
1
|
+
--- !binary |-
|
2
|
+
ew0KInRlcm0wIiA6IHsNCiJQcmluY2lwYWxUcmFuc2xhdGlvbnMiIDogew0K
|
3
|
+
CSIwIiA6ew0KCQkiT3JpZ2luYWxUZXJtIiA6IHsgInRlcm0iIDogImNoaWF2
|
4
|
+
ZSIsICJQT1MiIDogIm5mIiwgInNlbnNlIiA6ICJzdHJ1bWVudG8gcGVyIGFw
|
5
|
+
cmlyZSIsICJ1c2FnZSIgOiAibGV0dGVyYWxlIn0sIA0KCQkiRmlyc3RUcmFu
|
6
|
+
c2xhdGlvbiIgOiB7InRlcm0iIDogImtleSIsICJQT1MiIDogIm4iLCAic2Vu
|
7
|
+
c2UiIDogIiJ9LCAiTm90ZSIgOiAiIn0sDQoJIjEiIDp7DQoJCSJPcmlnaW5h
|
8
|
+
bFRlcm0iIDogeyAidGVybSIgOiAiY2hpYXZlIiwgIlBPUyIgOiAibmYiLCAi
|
9
|
+
c2Vuc2UiIDogIm5vbWUgZGkgdmFyaSB1dGVuc2lsaSIsICJ1c2FnZSIgOiAi
|
10
|
+
In0sIA0KCQkiRmlyc3RUcmFuc2xhdGlvbiIgOiB7InRlcm0iIDogInNwYW5u
|
11
|
+
ZXIsIHdyZW5jaCIsICJQT1MiIDogIm4iLCAic2Vuc2UiIDogIm1lY2hhbmlj
|
12
|
+
YWwifSwgIk5vdGUiIDogIiJ9LA0KCSIyIiA6ew0KCQkiT3JpZ2luYWxUZXJt
|
13
|
+
IiA6IHsgInRlcm0iIDogImNoaWF2ZSIsICJQT1MiIDogIm5mIiwgInNlbnNl
|
14
|
+
IiA6ICJzaW1ib2xvIGQnYXV0b3JpdMOgIiwgInVzYWdlIiA6ICIifSwgDQoJ
|
15
|
+
CSJGaXJzdFRyYW5zbGF0aW9uIiA6IHsidGVybSIgOiAia2V5IiwgIlBPUyIg
|
16
|
+
OiAibiIsICJzZW5zZSIgOiAiZmlndXJhdGl2ZSJ9LCAiTm90ZSIgOiAiIn0s
|
17
|
+
DQoJIjMiIDp7DQoJCSJPcmlnaW5hbFRlcm0iIDogeyAidGVybSIgOiAiY2hp
|
18
|
+
YXZlIiwgIlBPUyIgOiAibmYiLCAic2Vuc2UiIDogInB1bnRvIGVzc2Vuemlh
|
19
|
+
bGUgbyBtZXp6byBkZWNpc2l2byIsICJ1c2FnZSIgOiAiZmlndXJhdG8ifSwg
|
20
|
+
DQoJCSJGaXJzdFRyYW5zbGF0aW9uIiA6IHsidGVybSIgOiAia2V5LCBjcnV4
|
21
|
+
IiwgIlBPUyIgOiAibiIsICJzZW5zZSIgOiAiZmlndXJhdGl2ZSJ9LCAiTm90
|
22
|
+
ZSIgOiAiIn0sDQoJIjQiIDp7DQoJCSJPcmlnaW5hbFRlcm0iIDogeyAidGVy
|
23
|
+
bSIgOiAiY2hpYXZlIiwgIlBPUyIgOiAibmYiLCAic2Vuc2UiIDogImNoaWF2
|
24
|
+
ZSBtdXNpY2FsZSIsICJ1c2FnZSIgOiAiIn0sIA0KCQkiRmlyc3RUcmFuc2xh
|
25
|
+
dGlvbiIgOiB7InRlcm0iIDogImNsZWYiLCAiUE9TIiA6ICJuIiwgInNlbnNl
|
26
|
+
IiA6ICJtdXNpYyJ9LCANCgkJIlNlY29uZFRyYW5zbGF0aW9uIiA6IHsidGVy
|
27
|
+
bSIgOiAia2V5IiwgIlBPUyIgOiAiIiwgInNlbnNlIiA6ICJtdXNpYyJ9LCAi
|
28
|
+
Tm90ZSIgOiAiIn0sDQoJIjUiIDp7DQoJCSJPcmlnaW5hbFRlcm0iIDogeyAi
|
29
|
+
dGVybSIgOiAiY2hpYXZlIiwgIlBPUyIgOiAibmYiLCAic2Vuc2UiIDogImlu
|
30
|
+
IGxvY3V6aW9uaTogcmVnaXN0cm8sIHRvbm8iLCAidXNhZ2UiIDogImZpZ3Vy
|
31
|
+
YXRvIn0sIA0KCQkiRmlyc3RUcmFuc2xhdGlvbiIgOiB7InRlcm0iIDogInRv
|
32
|
+
bmUsIGFjY2VudCIsICJQT1MiIDogIm4iLCAic2Vuc2UiIDogImZpZ3VyYXRp
|
33
|
+
dmUifSwgIk5vdGUiIDogIiJ9fX0sDQoib3JpZ2luYWwiIDogew0KIkNvbXBv
|
34
|
+
dW5kcyIgOiB7DQoJIjAiIDp7DQoJCSJPcmlnaW5hbFRlcm0iIDogeyAidGVy
|
35
|
+
bSIgOiAiYXR0cmF2ZXJzbyB1bmEgY2hpYXZlIiwgIlBPUyIgOiAiIiwgInNl
|
36
|
+
bnNlIiA6ICIiLCAidXNhZ2UiIDogIiJ9LCANCgkJIkZpcnN0VHJhbnNsYXRp
|
37
|
+
b24iIDogeyJ0ZXJtIiA6ICJ0aHJvdWdoLWtleSIsICJQT1MiIDogIiIsICJz
|
38
|
+
ZW5zZSIgOiAiIn0sICJOb3RlIiA6ICIifSwNCgkiMSIgOnsNCgkJIk9yaWdp
|
39
|
+
bmFsVGVybSIgOiB7ICJ0ZXJtIiA6ICJib2NjaGV0dGEgcGVyIGNoaWF2ZSIs
|
40
|
+
ICJQT1MiIDogIiIsICJzZW5zZSIgOiAiIiwgInVzYWdlIiA6ICIifSwgDQoJ
|
41
|
+
CSJGaXJzdFRyYW5zbGF0aW9uIiA6IHsidGVybSIgOiAia2V5aG9sZSBsaW1w
|
42
|
+
ZXQiLCAiUE9TIiA6ICIiLCAic2Vuc2UiIDogIiJ9LCAiTm90ZSIgOiAiIn0s
|
43
|
+
DQoJIjIiIDp7DQoJCSJPcmlnaW5hbFRlcm0iIDogeyAidGVybSIgOiAiY2hp
|
44
|
+
YXZlIGEgYnJ1Z29sYSIsICJQT1MiIDogIiIsICJzZW5zZSIgOiAiIiwgInVz
|
45
|
+
YWdlIiA6ICIifSwgDQoJCSJGaXJzdFRyYW5zbGF0aW9uIiA6IHsidGVybSIg
|
46
|
+
OiAiYWxsZW4gd3JlbmNoLCBhbGxlbiBrZXksIGhleCBrZXkiLCAiUE9TIiA6
|
47
|
+
ICJuIiwgInNlbnNlIiA6ICIifSwgIk5vdGUiIDogIiJ9LA0KCSIzIiA6ew0K
|
48
|
+
CQkiT3JpZ2luYWxUZXJtIiA6IHsgInRlcm0iIDogImNoaWF2ZSBhIGJ1c3Nv
|
49
|
+
bGEiLCAiUE9TIiA6ICIiLCAic2Vuc2UiIDogIiIsICJ1c2FnZSIgOiAiIn0s
|
50
|
+
IA0KCQkiRmlyc3RUcmFuc2xhdGlvbiIgOiB7InRlcm0iIDogInNvY2tldCB3
|
51
|
+
cmVuY2giLCAiUE9TIiA6ICJuIiwgInNlbnNlIiA6ICIifSwgIk5vdGUiIDog
|
52
|
+
IiJ9LA0KCSI0IiA6ew0KCQkiT3JpZ2luYWxUZXJtIiA6IHsgInRlcm0iIDog
|
53
|
+
ImNoaWF2ZSBkZWwgc3VjY2Vzc28iLCAiUE9TIiA6ICIiLCAic2Vuc2UiIDog
|
54
|
+
IiIsICJ1c2FnZSIgOiAiIn0sIA0KCQkiRmlyc3RUcmFuc2xhdGlvbiIgOiB7
|
55
|
+
InRlcm0iIDogInRoZSBrZXkgdG8gc3VjY2VzcyIsICJQT1MiIDogIm4sIGV4
|
56
|
+
cHIiLCAic2Vuc2UiIDogIiJ9LCAiTm90ZSIgOiAiIn0sDQoJIjUiIDp7DQoJ
|
57
|
+
CSJPcmlnaW5hbFRlcm0iIDogeyAidGVybSIgOiAiY2hpYXZlIGRlbGwnYWNj
|
58
|
+
ZW5zaW9uZSIsICJQT1MiIDogIiIsICJzZW5zZSIgOiAiIiwgInVzYWdlIiA6
|
59
|
+
ICIifSwgDQoJCSJGaXJzdFRyYW5zbGF0aW9uIiA6IHsidGVybSIgOiAiaWdu
|
60
|
+
aXRpb24ga2V5IiwgIlBPUyIgOiAiIiwgInNlbnNlIiA6ICIifSwgIk5vdGUi
|
61
|
+
IDogIiJ9LA0KCSI2IiA6ew0KCQkiT3JpZ2luYWxUZXJtIiA6IHsgInRlcm0i
|
62
|
+
IDogImNoaWF2ZSBkaSBhY2Nlc3NvIiwgIlBPUyIgOiAiIiwgInNlbnNlIiA6
|
63
|
+
ICIiLCAidXNhZ2UiIDogIiJ9LCANCgkJIkZpcnN0VHJhbnNsYXRpb24iIDog
|
64
|
+
eyJ0ZXJtIiA6ICJwYXNzIGtleSIsICJQT1MiIDogIiIsICJzZW5zZSIgOiAi
|
65
|
+
In0sICJOb3RlIiA6ICIifSwNCgkiNyIgOnsNCgkJIk9yaWdpbmFsVGVybSIg
|
66
|
+
OiB7ICJ0ZXJtIiA6ICJjaGlhdmUgZGkgYmFzc28iLCAiUE9TIiA6ICIiLCAi
|
67
|
+
c2Vuc2UiIDogIiIsICJ1c2FnZSIgOiAiIn0sIA0KCQkiRmlyc3RUcmFuc2xh
|
68
|
+
dGlvbiIgOiB7InRlcm0iIDogImJhc3MgY2xlZiIsICJQT1MiIDogIiIsICJz
|
69
|
+
ZW5zZSIgOiAiIn0sICJOb3RlIiA6ICIifSwNCgkiOCIgOnsNCgkJIk9yaWdp
|
70
|
+
bmFsVGVybSIgOiB7ICJ0ZXJtIiA6ICJjaGlhdmUgZGkgY29udHJhbHRvIiwg
|
71
|
+
IlBPUyIgOiAiIiwgInNlbnNlIiA6ICIiLCAidXNhZ2UiIDogIiJ9LCANCgkJ
|
72
|
+
IkZpcnN0VHJhbnNsYXRpb24iIDogeyJ0ZXJtIiA6ICJhbHRvIGNsZWYiLCAi
|
73
|
+
UE9TIiA6ICIiLCAic2Vuc2UiIDogIiJ9LCAiTm90ZSIgOiAiIn0sDQoJIjki
|
74
|
+
IDp7DQoJCSJPcmlnaW5hbFRlcm0iIDogeyAidGVybSIgOiAiY2hpYXZlIGRp
|
75
|
+
IGxldHR1cmEiLCAiUE9TIiA6ICIiLCAic2Vuc2UiIDogIiIsICJ1c2FnZSIg
|
76
|
+
OiAiIn0sIA0KCQkiRmlyc3RUcmFuc2xhdGlvbiIgOiB7InRlcm0iIDogImlu
|
77
|
+
dGVycHJldGF0aW9uIiwgIlBPUyIgOiAibiIsICJzZW5zZSIgOiAiIn0sICJO
|
78
|
+
b3RlIiA6ICIifSwNCgkiMTAiIDp7DQoJCSJPcmlnaW5hbFRlcm0iIDogeyAi
|
79
|
+
dGVybSIgOiAiY2hpYXZlIGRpIGxldHR1cmEiLCAiUE9TIiA6ICIiLCAic2Vu
|
80
|
+
c2UiIDogIiIsICJ1c2FnZSIgOiAiIn0sICJOb3RlIiA6ICIifSwNCgkiMTEi
|
81
|
+
IDp7DQoJCSJPcmlnaW5hbFRlcm0iIDogeyAidGVybSIgOiAiY2hpYXZlIGRp
|
82
|
+
IHF1YWxjb3NhIiwgIlBPUyIgOiAibmYiLCAic2Vuc2UiIDogIiIsICJ1c2Fn
|
83
|
+
ZSIgOiAiIn0sIA0KCQkiRmlyc3RUcmFuc2xhdGlvbiIgOiB7InRlcm0iIDog
|
84
|
+
ImtleSB0byBzdGgiLCAiUE9TIiA6ICIiLCAic2Vuc2UiIDogIiJ9LCAiTm90
|
85
|
+
ZSIgOiAiIn0sDQoJIjEyIiA6ew0KCQkiT3JpZ2luYWxUZXJtIiA6IHsgInRl
|
86
|
+
cm0iIDogImNoaWF2ZSBkaSBzb2wsIGNoaWF2ZSBkaSB2aW9saW5vIiwgIlBP
|
87
|
+
UyIgOiAibm0iLCAic2Vuc2UiIDogIiIsICJ1c2FnZSIgOiAiIn0sIA0KCQki
|
88
|
+
Rmlyc3RUcmFuc2xhdGlvbiIgOiB7InRlcm0iIDogInRyZWJsZSBjbGVmIiwg
|
89
|
+
IlBPUyIgOiAiIiwgInNlbnNlIiA6ICJtdXMuIn0sICJOb3RlIiA6ICIifSwN
|
90
|
+
CgkiMTMiIDp7DQoJCSJPcmlnaW5hbFRlcm0iIDogeyAidGVybSIgOiAiY2hp
|
91
|
+
YXZlIGRpIHRlbm9yZSIsICJQT1MiIDogIiIsICJzZW5zZSIgOiAiIiwgInVz
|
92
|
+
YWdlIiA6ICIifSwgDQoJCSJGaXJzdFRyYW5zbGF0aW9uIiA6IHsidGVybSIg
|
93
|
+
OiAidGVub3IgY2xlZiIsICJQT1MiIDogIiIsICJzZW5zZSIgOiAibXVzLiJ9
|
94
|
+
LCAiTm90ZSIgOiAiIn0sDQoJIjE0IiA6ew0KCQkiT3JpZ2luYWxUZXJtIiA6
|
95
|
+
IHsgInRlcm0iIDogImNoaWF2ZSBkaSB2b2x0YSIsICJQT1MiIDogIm5mIiwg
|
96
|
+
InNlbnNlIiA6ICJpbiBBcmNoaXRldHR1cmEgc29wcmF0dHV0dG8iLCAidXNh
|
97
|
+
Z2UiIDogIiJ9LCANCgkJIkZpcnN0VHJhbnNsYXRpb24iIDogeyJ0ZXJtIiA6
|
98
|
+
ICJrZXlzdG9uZSIsICJQT1MiIDogIiIsICJzZW5zZSIgOiAiQXJjaGl0ZWN0
|
99
|
+
dXJlIn0sICJOb3RlIiA6ICIifSwNCgkiMTUiIDp7DQoJCSJPcmlnaW5hbFRl
|
100
|
+
cm0iIDogeyAidGVybSIgOiAiY2hpYXZlIGRpIHZvbHRhIiwgIlBPUyIgOiAi
|
101
|
+
IiwgInNlbnNlIiA6ICJhcmNoaXRldHR1cmEiLCAidXNhZ2UiIDogIiJ9LCAN
|
102
|
+
CgkJIkZpcnN0VHJhbnNsYXRpb24iIDogeyJ0ZXJtIiA6ICJrZXkgYnJpY2si
|
103
|
+
LCAiUE9TIiA6ICIiLCAic2Vuc2UiIDogIiJ9LCAiTm90ZSIgOiAiIn0sDQoJ
|
104
|
+
IjE2IiA6ew0KCQkiT3JpZ2luYWxUZXJtIiA6IHsgInRlcm0iIDogImNoaWF2
|
105
|
+
ZSBlbGV0dHJvbmljYSIsICJQT1MiIDogIiIsICJzZW5zZSIgOiAiIiwgInVz
|
106
|
+
YWdlIiA6ICIifSwgDQoJCSJGaXJzdFRyYW5zbGF0aW9uIiA6IHsidGVybSIg
|
107
|
+
OiAia2V5IGNhcmQiLCAiUE9TIiA6ICJuIiwgInNlbnNlIiA6ICJpbiBob3Rl
|
108
|
+
bCBjb250ZXh0In0sICJOb3RlIiA6ICIifSwNCgkiMTciIDp7DQoJCSJPcmln
|
109
|
+
aW5hbFRlcm0iIDogeyAidGVybSIgOiAiY2hpYXZlIGZpc3NhIiwgIlBPUyIg
|
110
|
+
OiAiIiwgInNlbnNlIiA6ICIiLCAidXNhZ2UiIDogIiJ9LCANCgkJIkZpcnN0
|
111
|
+
VHJhbnNsYXRpb24iIDogeyJ0ZXJtIiA6ICJvcGVuLWVuZCB3cmVuY2giLCAi
|
112
|
+
UE9TIiA6ICIiLCAic2Vuc2UiIDogIiJ9LCAiTm90ZSIgOiAiIn0sDQoJIjE4
|
113
|
+
IiA6ew0KCQkiT3JpZ2luYWxUZXJtIiA6IHsgInRlcm0iIDogImNoaWF2ZSBp
|
114
|
+
bmdsZXNlIiwgIlBPUyIgOiAiIiwgInNlbnNlIiA6ICIiLCAidXNhZ2UiIDog
|
115
|
+
IiJ9LCANCgkJIkZpcnN0VHJhbnNsYXRpb24iIDogeyJ0ZXJtIiA6ICJ3cmVu
|
116
|
+
Y2giLCAiUE9TIiA6ICJuIiwgInNlbnNlIiA6ICIifSwgIk5vdGUiIDogIiJ9
|
117
|
+
LA0KCSIxOSIgOnsNCgkJIk9yaWdpbmFsVGVybSIgOiB7ICJ0ZXJtIiA6ICJj
|
118
|
+
aGlhdmUgaW5nbGVzZSwgY2hpYXZlIiwgIlBPUyIgOiAibm0iLCAic2Vuc2Ui
|
119
|
+
IDogIm1lY2NhbmljYSIsICJ1c2FnZSIgOiAiIn0sIA0KCQkiRmlyc3RUcmFu
|
120
|
+
c2xhdGlvbiIgOiB7InRlcm0iIDogInNwYW5uZXIiLCAiUE9TIiA6ICIiLCAi
|
121
|
+
c2Vuc2UiIDogIiJ9LCAiTm90ZSIgOiAiIn0sDQoJIjIwIiA6ew0KCQkiT3Jp
|
122
|
+
Z2luYWxUZXJtIiA6IHsgInRlcm0iIDogImNoaWF2ZSBtYWRyZSIsICJQT1Mi
|
123
|
+
IDogIm5mIiwgInNlbnNlIiA6ICIiLCAidXNhZ2UiIDogIiJ9LCANCgkJIkZp
|
124
|
+
cnN0VHJhbnNsYXRpb24iIDogeyJ0ZXJtIiA6ICJwYXNza2V5IiwgIlBPUyIg
|
125
|
+
OiAiIiwgInNlbnNlIiA6ICJtYXN0ZXIga2V5In0sICJOb3RlIiA6ICIifSwN
|
126
|
+
CgkiMjEiIDp7DQoJCSJPcmlnaW5hbFRlcm0iIDogeyAidGVybSIgOiAiY2hp
|
127
|
+
YXZlIG1hZ2dpb3JlIiwgIlBPUyIgOiAiIiwgInNlbnNlIiA6ICIiLCAidXNh
|
128
|
+
Z2UiIDogIiJ9LCANCgkJIkZpcnN0VHJhbnNsYXRpb24iIDogeyJ0ZXJtIiA6
|
129
|
+
ICJtYWpvciBrZXkiLCAiUE9TIiA6ICIiLCAic2Vuc2UiIDogIiJ9LCAiTm90
|
130
|
+
ZSIgOiAiIn0sDQoJIjIyIiA6ew0KCQkiT3JpZ2luYWxUZXJtIiA6IHsgInRl
|
131
|
+
cm0iIDogImNoaWF2ZSBtaW5vcmUiLCAiUE9TIiA6ICIiLCAic2Vuc2UiIDog
|
132
|
+
IiIsICJ1c2FnZSIgOiAiIn0sIA0KCQkiRmlyc3RUcmFuc2xhdGlvbiIgOiB7
|
133
|
+
InRlcm0iIDogIm1pbm9yIGtleSIsICJQT1MiIDogIiIsICJzZW5zZSIgOiAi
|
134
|
+
In0sICJOb3RlIiA6ICIifSwNCgkiMjMiIDp7DQoJCSJPcmlnaW5hbFRlcm0i
|
135
|
+
IDogeyAidGVybSIgOiAiY2hpYXZlIG1pbm9yZSIsICJQT1MiIDogIiIsICJz
|
136
|
+
ZW5zZSIgOiAiIiwgInVzYWdlIiA6ICIifSwgDQoJCSJGaXJzdFRyYW5zbGF0
|
137
|
+
aW9uIiA6IHsidGVybSIgOiAibWlub3IgbW9kZSIsICJQT1MiIDogIiIsICJz
|
138
|
+
ZW5zZSIgOiAiIn0sICJOb3RlIiA6ICIifSwNCgkiMjQiIDp7DQoJCSJPcmln
|
139
|
+
aW5hbFRlcm0iIDogeyAidGVybSIgOiAiY2hpYXZlIHBlciIsICJQT1MiIDog
|
140
|
+
Im5mIiwgInNlbnNlIiA6ICIiLCAidXNhZ2UiIDogIiJ9LCANCgkJIkZpcnN0
|
141
|
+
VHJhbnNsYXRpb24iIDogeyJ0ZXJtIiA6ICJrZXkgdG8iLCAiUE9TIiA6ICIi
|
142
|
+
LCAic2Vuc2UiIDogImV4ZXJjaXNlcyJ9LCAiTm90ZSIgOiAiIn0sDQoJIjI1
|
143
|
+
IiA6ew0KCQkiT3JpZ2luYWxUZXJtIiA6IHsgInRlcm0iIDogImNoaWF2ZSBw
|
144
|
+
ZXIgdHV0dGUgbGUgc2VycmF0dXJlIiwgIlBPUyIgOiAibmYiLCAic2Vuc2Ui
|
145
|
+
IDogIiIsICJ1c2FnZSIgOiAiIn0sIA0KCQkiRmlyc3RUcmFuc2xhdGlvbiIg
|
146
|
+
OiB7InRlcm0iIDogInBhc3NrZXkiLCAiUE9TIiA6ICIiLCAic2Vuc2UiIDog
|
147
|
+
ImtleSBmb3IgZXZlcnkgbG9jayJ9LCAiTm90ZSIgOiAiIn0sDQoJIjI2IiA6
|
148
|
+
ew0KCQkiT3JpZ2luYWxUZXJtIiA6IHsgInRlcm0iIDogImNoaWF2ZSBwcmlt
|
149
|
+
YXJpYSIsICJQT1MiIDogIiIsICJzZW5zZSIgOiAiIiwgInVzYWdlIiA6ICIi
|
150
|
+
fSwgDQoJCSJGaXJzdFRyYW5zbGF0aW9uIiA6IHsidGVybSIgOiAibWFzdGVy
|
151
|
+
IGtleSIsICJQT1MiIDogIiIsICJzZW5zZSIgOiAiIn0sICJOb3RlIiA6ICIi
|
152
|
+
fSwNCgkiMjciIDp7DQoJCSJPcmlnaW5hbFRlcm0iIDogeyAidGVybSIgOiAi
|
153
|
+
Y2hpYXZlIHVuaXZlcnNhbGUiLCAiUE9TIiA6ICJuZiIsICJzZW5zZSIgOiAi
|
154
|
+
IiwgInVzYWdlIiA6ICIifSwgDQoJCSJGaXJzdFRyYW5zbGF0aW9uIiA6IHsi
|
155
|
+
dGVybSIgOiAicGFzc2tleSIsICJQT1MiIDogIiIsICJzZW5zZSIgOiAiIn0s
|
156
|
+
ICJOb3RlIiA6ICIifSwNCgkiMjgiIDp7DQoJCSJPcmlnaW5hbFRlcm0iIDog
|
157
|
+
eyAidGVybSIgOiAiY2hpdWRlcmUgYSBjaGlhdmUiLCAiUE9TIiA6ICJ2Iiwg
|
158
|
+
InNlbnNlIiA6ICIiLCAidXNhZ2UiIDogIiJ9LCANCgkJIkZpcnN0VHJhbnNs
|
159
|
+
YXRpb24iIDogeyJ0ZXJtIiA6ICJib2x0IiwgIlBPUyIgOiAiIiwgInNlbnNl
|
160
|
+
IiA6ICJ0byBzZWN1cmUgd2l0aCBhIGxvY2sifSwgIk5vdGUiIDogIiJ9LA0K
|
161
|
+
CSIyOSIgOnsNCgkJIk9yaWdpbmFsVGVybSIgOiB7ICJ0ZXJtIiA6ICJjaGl1
|
162
|
+
ZGVyZSBhIGNoaWF2ZSIsICJQT1MiIDogIiIsICJzZW5zZSIgOiAiIiwgInVz
|
163
|
+
YWdlIiA6ICIifSwgDQoJCSJGaXJzdFRyYW5zbGF0aW9uIiA6IHsidGVybSIg
|
164
|
+
OiAibG9jayB1cCIsICJQT1MiIDogIiIsICJzZW5zZSIgOiAiIn0sICJOb3Rl
|
165
|
+
IiA6ICIifSwNCgkiMzAiIDp7DQoJCSJPcmlnaW5hbFRlcm0iIDogeyAidGVy
|
166
|
+
bSIgOiAiY2hpdXNvIGEgY2hpYXZlIiwgIlBPUyIgOiAiIiwgInNlbnNlIiA6
|
167
|
+
ICIiLCAidXNhZ2UiIDogIiJ9LCANCgkJIkZpcnN0VHJhbnNsYXRpb24iIDog
|
168
|
+
eyJ0ZXJtIiA6ICJsb2NrZWQgdXAiLCAiUE9TIiA6ICIiLCAic2Vuc2UiIDog
|
169
|
+
IiJ9LCAiTm90ZSIgOiAiIn0sDQoJIjMxIiA6ew0KCQkiT3JpZ2luYWxUZXJt
|
170
|
+
IiA6IHsgInRlcm0iIDogImNoaXVzbyBhIGNoaWF2ZSIsICJQT1MiIDogImFk
|
171
|
+
aiIsICJzZW5zZSIgOiAiIiwgInVzYWdlIiA6ICIifSwgDQoJCSJGaXJzdFRy
|
172
|
+
YW5zbGF0aW9uIiA6IHsidGVybSIgOiAicGVudCIsICJQT1MiIDogIiIsICJz
|
173
|
+
ZW5zZSIgOiAibG9ja2VkIHVwIn0sICJOb3RlIiA6ICIifSwNCgkiMzIiIDp7
|
174
|
+
DQoJCSJPcmlnaW5hbFRlcm0iIDogeyAidGVybSIgOiAiZGltZW5zaW9uZSBj
|
175
|
+
aGlhdmUiLCAiUE9TIiA6ICIiLCAic2Vuc2UiIDogIiIsICJ1c2FnZSIgOiAi
|
176
|
+
In0sIA0KCQkiRmlyc3RUcmFuc2xhdGlvbiIgOiB7InRlcm0iIDogImtleSBz
|
177
|
+
aXplIiwgIlBPUyIgOiAiIiwgInNlbnNlIiA6ICIifSwgIk5vdGUiIDogIiJ9
|
178
|
+
LA0KCSIzMyIgOnsNCgkJIk9yaWdpbmFsVGVybSIgOiB7ICJ0ZXJtIiA6ICJm
|
179
|
+
YXR0b3JlIGNoaWF2ZSIsICJQT1MiIDogIiIsICJzZW5zZSIgOiAiIiwgInVz
|
180
|
+
YWdlIiA6ICIifSwgDQoJCSJGaXJzdFRyYW5zbGF0aW9uIiA6IHsidGVybSIg
|
181
|
+
OiAia2V5IGZhY3RvciIsICJQT1MiIDogIiIsICJzZW5zZSIgOiAiIn0sICJO
|
182
|
+
b3RlIiA6ICIifSwNCgkiMzQiIDp7DQoJCSJPcmlnaW5hbFRlcm0iIDogeyAi
|
183
|
+
dGVybSIgOiAiZmlndXJlIGNoaWF2ZSIsICJQT1MiIDogIiIsICJzZW5zZSIg
|
184
|
+
OiAiIiwgInVzYWdlIiA6ICIifSwgDQoJCSJGaXJzdFRyYW5zbGF0aW9uIiA6
|
185
|
+
IHsidGVybSIgOiAia2V5IGZpZ3VyZXMiLCAiUE9TIiA6ICIiLCAic2Vuc2Ui
|
186
|
+
IDogIiJ9LCAiTm90ZSIgOiAiIn0sDQoJIjM1IiA6ew0KCQkiT3JpZ2luYWxU
|
187
|
+
ZXJtIiA6IHsgInRlcm0iIDogImZpbGUgY2hpYXZlIiwgIlBPUyIgOiAiIiwg
|
188
|
+
InNlbnNlIiA6ICIiLCAidXNhZ2UiIDogIiJ9LCANCgkJIkZpcnN0VHJhbnNs
|
189
|
+
YXRpb24iIDogeyJ0ZXJtIiA6ICJrZXkgZmlsZSIsICJQT1MiIDogIiIsICJz
|
190
|
+
ZW5zZSIgOiAiIn0sICJOb3RlIiA6ICIifSwNCgkiMzYiIDp7DQoJCSJPcmln
|
191
|
+
aW5hbFRlcm0iIDogeyAidGVybSIgOiAiZnJhc2UgY2hpYXZlIiwgIlBPUyIg
|
192
|
+
OiAibmYiLCAic2Vuc2UiIDogIiIsICJ1c2FnZSIgOiAiIn0sIA0KCQkiRmly
|
193
|
+
c3RUcmFuc2xhdGlvbiIgOiB7InRlcm0iIDogInRvcGljIHNlbnRlbmNlIiwg
|
194
|
+
IlBPUyIgOiAiIiwgInNlbnNlIiA6ICIifSwgIk5vdGUiIDogIiJ9LA0KCSIz
|
195
|
+
NyIgOnsNCgkJIk9yaWdpbmFsVGVybSIgOiB7ICJ0ZXJtIiA6ICJpbiB1bidv
|
196
|
+
dHRhdmEgc29wcmEgbGEgY2hpYXZlIGRpIHNvbCIsICJQT1MiIDogIiIsICJz
|
197
|
+
ZW5zZSIgOiAiIiwgInVzYWdlIiA6ICIifSwgDQoJCSJGaXJzdFRyYW5zbGF0
|
198
|
+
aW9uIiA6IHsidGVybSIgOiAiaW4gYWx0IiwgIlBPUyIgOiAiIiwgInNlbnNl
|
199
|
+
IiA6ICIifSwgIk5vdGUiIDogIiJ9LA0KCSIzOCIgOnsNCgkJIk9yaWdpbmFs
|
200
|
+
VGVybSIgOiB7ICJ0ZXJtIiA6ICJpbmR1c3RyaWEgY2hpYXZlIiwgIlBPUyIg
|
201
|
+
OiAiIiwgInNlbnNlIiA6ICIiLCAidXNhZ2UiIDogIiJ9LCANCgkJIkZpcnN0
|
202
|
+
VHJhbnNsYXRpb24iIDogeyJ0ZXJtIiA6ICJrZXkgaW5kdXN0cnkiLCAiUE9T
|
203
|
+
IiA6ICIiLCAic2Vuc2UiIDogIiJ9LCAiTm90ZSIgOiAiIn0sDQoJIjM5IiA6
|
204
|
+
ew0KCQkiT3JpZ2luYWxUZXJtIiA6IHsgInRlcm0iIDogImxhc3RyYSBjaGlh
|
205
|
+
dmUiLCAiUE9TIiA6ICJuZiIsICJzZW5zZSIgOiAiIiwgInVzYWdlIiA6ICIi
|
206
|
+
fSwgDQoJCSJGaXJzdFRyYW5zbGF0aW9uIiA6IHsidGVybSIgOiAia2V5IHBs
|
207
|
+
YXRlIiwgIlBPUyIgOiAiIiwgInNlbnNlIiA6ICIifSwgIk5vdGUiIDogIiJ9
|
208
|
+
LA0KCSI0MCIgOnsNCgkJIk9yaWdpbmFsVGVybSIgOiB7ICJ0ZXJtIiA6ICJs
|
209
|
+
aW5lYSBjaGlhdmUiLCAiUE9TIiA6ICIiLCAic2Vuc2UiIDogIiIsICJ1c2Fn
|
210
|
+
ZSIgOiAiIn0sIA0KCQkiRmlyc3RUcmFuc2xhdGlvbiIgOiB7InRlcm0iIDog
|
211
|
+
ImtleSBsaW5lIiwgIlBPUyIgOiAiIiwgInNlbnNlIiA6ICIifSwgIk5vdGUi
|
212
|
+
IDogIiJ9LA0KCSI0MSIgOnsNCgkJIk9yaWdpbmFsVGVybSIgOiB7ICJ0ZXJt
|
213
|
+
IiA6ICJtb3NzYSBjaGlhdmUiLCAiUE9TIiA6ICIiLCAic2Vuc2UiIDogIiIs
|
214
|
+
ICJ1c2FnZSIgOiAiIn0sIA0KCQkiRmlyc3RUcmFuc2xhdGlvbiIgOiB7InRl
|
215
|
+
cm0iIDogImtleSBtb3ZlIiwgIlBPUyIgOiAiIiwgInNlbnNlIiA6ICIifSwg
|
216
|
+
Ik5vdGUiIDogIiJ9LA0KCSI0MiIgOnsNCgkJIk9yaWdpbmFsVGVybSIgOiB7
|
217
|
+
ICJ0ZXJtIiA6ICJwYXJvbGEgY2hpYXZlIiwgIlBPUyIgOiAiIiwgInNlbnNl
|
218
|
+
IiA6ICIiLCAidXNhZ2UiIDogIiJ9LCANCgkJIkZpcnN0VHJhbnNsYXRpb24i
|
219
|
+
IDogeyJ0ZXJtIiA6ICJrZXl3b3JkIiwgIlBPUyIgOiAiIiwgInNlbnNlIiA6
|
220
|
+
ICIifSwgIk5vdGUiIDogIiJ9LA0KCSI0MyIgOnsNCgkJIk9yaWdpbmFsVGVy
|
221
|
+
bSIgOiB7ICJ0ZXJtIiA6ICJwYXJvbGEgY2hpYXZlIiwgIlBPUyIgOiAibmYi
|
222
|
+
LCAic2Vuc2UiIDogIiIsICJ1c2FnZSIgOiAiIn0sIA0KCQkiRmlyc3RUcmFu
|
223
|
+
c2xhdGlvbiIgOiB7InRlcm0iIDogImtleSB3b3JkIiwgIlBPUyIgOiAiIiwg
|
224
|
+
InNlbnNlIiA6ICIifSwgIk5vdGUiIDogIiJ9LA0KCSI0NCIgOnsNCgkJIk9y
|
225
|
+
aWdpbmFsVGVybSIgOiB7ICJ0ZXJtIiA6ICJzY2hlbWEgY2hpYXZlIiwgIlBP
|
226
|
+
UyIgOiAiIiwgInNlbnNlIiA6ICIiLCAidXNhZ2UiIDogIiJ9LCANCgkJIkZp
|
227
|
+
cnN0VHJhbnNsYXRpb24iIDogeyJ0ZXJtIiA6ICJrZXkgcGF0dGVybiIsICJQ
|
228
|
+
T1MiIDogIiIsICJzZW5zZSIgOiAiIn0sICJOb3RlIiA6ICIifSwNCgkiNDUi
|
229
|
+
IDp7DQoJCSJPcmlnaW5hbFRlcm0iIDogeyAidGVybSIgOiAic2VxdWVuemEg
|
230
|
+
Y2hpYXZlIiwgIlBPUyIgOiAibmYiLCAic2Vuc2UiIDogIiIsICJ1c2FnZSIg
|
231
|
+
OiAiIn0sIA0KCQkiRmlyc3RUcmFuc2xhdGlvbiIgOiB7InRlcm0iIDogImtl
|
232
|
+
eSBmcmFtZSIsICJQT1MiIDogIiIsICJzZW5zZSIgOiAiIn0sICJOb3RlIiA6
|
233
|
+
ICIifSwNCgkiNDYiIDp7DQoJCSJPcmlnaW5hbFRlcm0iIDogeyAidGVybSIg
|
234
|
+
OiAic290dG8gY2hpYXZlIiwgIlBPUyIgOiAiIiwgInNlbnNlIiA6ICIiLCAi
|
235
|
+
dXNhZ2UiIDogIiJ9LCANCgkJIkZpcnN0VHJhbnNsYXRpb24iIDogeyJ0ZXJt
|
236
|
+
IiA6ICJ1bmRlciBsb2NrIGFuZCBrZXkiLCAiUE9TIiA6ICIiLCAic2Vuc2Ui
|
237
|
+
IDogIiJ9LCAiTm90ZSIgOiAiIn0sDQoJIjQ3IiA6ew0KCQkiT3JpZ2luYWxU
|
238
|
+
ZXJtIiA6IHsgInRlcm0iIDogInRyb3ZhcmUgbGEgY2hpYXZlIHBlciIsICJQ
|
239
|
+
T1MiIDogIiIsICJzZW5zZSIgOiAiIiwgInVzYWdlIiA6ICIifSwgDQoJCSJG
|
240
|
+
aXJzdFRyYW5zbGF0aW9uIiA6IHsidGVybSIgOiAiZmluZCB0aGUga2V5IHRv
|
241
|
+
IiwgIlBPUyIgOiAiIiwgInNlbnNlIiA6ICIifSwgIk5vdGUiIDogIiJ9LA0K
|
242
|
+
CSI0OCIgOnsNCgkJIk9yaWdpbmFsVGVybSIgOiB7ICJ0ZXJtIiA6ICJ1b21v
|
243
|
+
IGNoaWF2ZSIsICJQT1MiIDogIiIsICJzZW5zZSIgOiAiIiwgInVzYWdlIiA6
|
244
|
+
ICIifSwgDQoJCSJGaXJzdFRyYW5zbGF0aW9uIiA6IHsidGVybSIgOiAia2V5
|
245
|
+
IG1hbiIsICJQT1MiIDogIiIsICJzZW5zZSIgOiAiIn0sICJOb3RlIiA6ICIi
|
246
|
+
fX19LA0KIkxpbmVzIiA6ICJFbmQgUmVhY2hlZCIsICJFTkQiIDogdHJ1ZQ0K
|
247
|
+
fQ==
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require File.expand_path('../lib/word_reference/version', __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |gem|
|
5
|
+
gem.authors = ["Laila Winner", "Elliot Shiu"]
|
6
|
+
gem.email = ["laila.winner@gmail.com", "elliot@sandbochs.com"]
|
7
|
+
gem.description = %q{A Ruby wrapper for the WordReference.com Dictionary API}
|
8
|
+
gem.summary = %q{Client for the WordReference.com API}
|
9
|
+
gem.homepage = "https://github.com/malandrina/word_reference"
|
10
|
+
|
11
|
+
gem.files = `git ls-files`.split($\)
|
12
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
13
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
14
|
+
gem.name = "word_reference"
|
15
|
+
gem.require_paths = ["lib"]
|
16
|
+
gem.version = WordReference::VERSION
|
17
|
+
end
|
metadata
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: word_reference
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Laila Winner
|
9
|
+
- Elliot Shiu
|
10
|
+
autorequire:
|
11
|
+
bindir: bin
|
12
|
+
cert_chain: []
|
13
|
+
date: 2012-11-13 00:00:00.000000000 Z
|
14
|
+
dependencies: []
|
15
|
+
description: A Ruby wrapper for the WordReference.com Dictionary API
|
16
|
+
email:
|
17
|
+
- laila.winner@gmail.com
|
18
|
+
- elliot@sandbochs.com
|
19
|
+
executables: []
|
20
|
+
extensions: []
|
21
|
+
extra_rdoc_files: []
|
22
|
+
files:
|
23
|
+
- .gitignore
|
24
|
+
- Gemfile
|
25
|
+
- LICENSE
|
26
|
+
- README.md
|
27
|
+
- Rakefile
|
28
|
+
- lib/word_reference.rb
|
29
|
+
- lib/word_reference/configurable.rb
|
30
|
+
- lib/word_reference/dictionary.rb
|
31
|
+
- lib/word_reference/query.rb
|
32
|
+
- lib/word_reference/translation.rb
|
33
|
+
- lib/word_reference/version.rb
|
34
|
+
- spec/dictionary_spec.rb
|
35
|
+
- spec/query_spec.rb
|
36
|
+
- spec/translation_spec.rb
|
37
|
+
- spec/wrjson.yml
|
38
|
+
- word_reference.gemspec
|
39
|
+
homepage: https://github.com/malandrina/word_reference
|
40
|
+
licenses: []
|
41
|
+
post_install_message:
|
42
|
+
rdoc_options: []
|
43
|
+
require_paths:
|
44
|
+
- lib
|
45
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
46
|
+
none: false
|
47
|
+
requirements:
|
48
|
+
- - ! '>='
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: '0'
|
51
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
53
|
+
requirements:
|
54
|
+
- - ! '>='
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '0'
|
57
|
+
requirements: []
|
58
|
+
rubyforge_project:
|
59
|
+
rubygems_version: 1.8.24
|
60
|
+
signing_key:
|
61
|
+
specification_version: 3
|
62
|
+
summary: Client for the WordReference.com API
|
63
|
+
test_files:
|
64
|
+
- spec/dictionary_spec.rb
|
65
|
+
- spec/query_spec.rb
|
66
|
+
- spec/translation_spec.rb
|
67
|
+
- spec/wrjson.yml
|