eoat 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 33824679f01ed8ef08285e1a43f892a3bbf1509e
4
- data.tar.gz: 06c77ddb6e07cdbb98a4a4c84e1be1e9b7645d9d
3
+ metadata.gz: 0def34809c9e1f489c393467806f6cd4ddf98819
4
+ data.tar.gz: bbed96f4dc56a7022e83229e7cbcde434e3c773e
5
5
  SHA512:
6
- metadata.gz: 1f8205d81c51f61b5f89e4d349ed4bbda9b8ea51653a5827f9de7db40355e101a5327ed48409386d104155bd4de827da74a11663327c1c1ce9806d994606c0f2
7
- data.tar.gz: 2e918aed6e907be0a8b38150a6f77f472c6c1918f8d2261c98071103a72d9500f4805b1af21f8d955ffa55d499390fe288d130acef9f16e20e4cf0a6f8f8ecfe
6
+ metadata.gz: 167dbbe3a201fa422a098ab97614653cc761e02d40bf0e14035fbd4c3c775c742ecb3c0f65dc5aba718fcca471658fcb1193e95633f9f58ac224950771691e92
7
+ data.tar.gz: ce32beaa74de1e8ea61800ad0024bb33021de078b73d2d086747134384927c0a74ba47b0bdce321b9b768a10a079db4b47ae2fec7af380e0d4b8ca5591c4e80f
@@ -28,8 +28,8 @@ module EOAT
28
28
  key = EOAT::Cache.md5hash(host + uri)
29
29
  response = @backend.get(key)
30
30
  if response
31
- if EOAT::Cache.md5hash(response.to_yaml) == @backend.get(key + '_hash')
32
- return response
31
+ if EOAT::Cache.md5hash(response) == @backend.get(key + '_hash')
32
+ return YAML::load(response)
33
33
  else
34
34
  @backend.delete(key)
35
35
  @backend.delete(key + '_hash')
@@ -51,14 +51,15 @@ module EOAT
51
51
  if expire > 0
52
52
  # Set key as md5 string
53
53
  key = EOAT::Cache.md5hash(host + uri)
54
+ yaml = content.to_yaml
54
55
  @backend.set(
55
56
  key,
56
- content,
57
+ yaml,
57
58
  :expiry => expire
58
59
  )
59
60
  @backend.set(
60
61
  key + '_hash',
61
- EOAT::Cache.md5hash(content.to_yaml),
62
+ EOAT::Cache.md5hash(yaml),
62
63
  :expiry => expire
63
64
  )
64
65
  end
@@ -28,9 +28,9 @@ module EOAT
28
28
  # Create an request according to the method called.
29
29
  # This is used to dynamically create api calls.
30
30
  # @return [Object] the result class
31
- def method_missing(method, **kwargs)
31
+ def method_missing(method, cache: true, **kwargs)
32
32
  uri = create_uri(method.id2name, kwargs)
33
- EOAT::Request.new(@host, uri, EOAT::Result::EveType::Result).get
33
+ EOAT::Request.new(@host, uri, EOAT::Result::EveType::Result).get(cache)
34
34
  end
35
35
 
36
36
  private
@@ -29,15 +29,14 @@ module EOAT
29
29
  end
30
30
 
31
31
  # Method-collector of private methods. Performs basic algorithm of output.
32
- def get
33
- cache = cache_get
32
+ def get(cache)
34
33
  if cache
35
- cache
36
- else
37
- result = @result.new(http_request)
38
- cache_save(result)
39
- result
34
+ cache_response = cache_get
35
+ return(cache_response) if cache_response
40
36
  end
37
+ response = @result.new(http_request)
38
+ cache_save(response)
39
+ response
41
40
  end
42
41
 
43
42
  private
@@ -69,6 +69,22 @@ module EOAT
69
69
  end
70
70
  end
71
71
  end
72
+
73
+ def method_missing(meth, *args, &block)
74
+ if instance_variable_defined?("@#{meth.to_s}")
75
+ instance_variable_get("@#{meth.to_s}")
76
+ else
77
+ super
78
+ end
79
+ end
80
+
81
+ def respond_to?(meth)
82
+ if instance_variable_defined?("@#{meth.to_s}")
83
+ true
84
+ else
85
+ super
86
+ end
87
+ end
72
88
  end
73
89
 
74
90
  # Rowset container for xml data.
@@ -121,7 +137,7 @@ module EOAT
121
137
  # Return first fount Row.
122
138
  # @param [Integer, String] key the value that been search
123
139
  def get(key)
124
- index = @entries_index[key]
140
+ index = @entries_index[key.to_i]
125
141
  if index
126
142
  case index
127
143
  when Array
@@ -132,6 +148,22 @@ module EOAT
132
148
  end
133
149
  nil
134
150
  end
151
+
152
+ def method_missing(meth, *args, &block)
153
+ if instance_variable_defined?("@#{meth.to_s}")
154
+ instance_variable_get("@#{meth.to_s}")
155
+ else
156
+ super
157
+ end
158
+ end
159
+
160
+ def respond_to?(meth)
161
+ if instance_variable_defined?("@#{meth.to_s}")
162
+ true
163
+ else
164
+ super
165
+ end
166
+ end
135
167
  end
136
168
 
137
169
  # Key-values container. All methods generated automatically.
@@ -182,6 +214,22 @@ module EOAT
182
214
  end
183
215
  end
184
216
  end
217
+
218
+ def method_missing(meth, *args, &block)
219
+ if instance_variable_defined?("@#{meth.to_s}")
220
+ instance_variable_get("@#{meth.to_s}")
221
+ else
222
+ super
223
+ end
224
+ end
225
+
226
+ def respond_to?(meth)
227
+ if instance_variable_defined?("@#{meth.to_s}")
228
+ true
229
+ else
230
+ super
231
+ end
232
+ end
185
233
  end
186
234
  end
187
235
  end
@@ -1,4 +1,4 @@
1
1
  module EOAT
2
2
  # Current gem version
3
- VERSION = '0.1.1'
3
+ VERSION = '0.1.2'
4
4
  end
@@ -16,9 +16,9 @@ module EOAT
16
16
 
17
17
  # Create an request according to the method called.
18
18
  # This is used to dynamically create api calls.
19
- def method_missing(method, **kwargs)
19
+ def method_missing(method, cache: true, **kwargs)
20
20
  uri = create_uri(method.id2name, kwargs)
21
- EOAT::Request.new(@host, uri, EOAT::Result::EveType::Result).get
21
+ EOAT::Request.new(@host, uri, EOAT::Result::EveType::Result).get(cache)
22
22
  end
23
23
 
24
24
  # Collect all request parameters and combine it to query string.
@@ -13,7 +13,10 @@ describe EOAT::Cache::FileCache do
13
13
  EOAT.cache = EOAT::Cache::FileCache.new(
14
14
  File.expand_path(File.join(File.dirname(__FILE__), '..', 'fixtures/cache'))
15
15
  )
16
- EOAT::EveApi.new.ErrorList.from_cache.should == true
16
+ response = EOAT::EveApi.new.ErrorList
17
+ response.from_cache.should == true
18
+ response.errors.class.should == EOAT::Result::EveType::RowSet
19
+ response.errors.get(513).errorCode.should == '513'
17
20
  end
18
21
 
19
22
  it 'was return result again from http' do
@@ -9,6 +9,9 @@ describe EOAT::Cache::MemcachedCache do
9
9
 
10
10
  it 'return result from cache' do
11
11
  EOAT.cache = EOAT::Cache::MemcachedCache.new
12
- EOAT::EveApi.new.ErrorList.from_cache.should == true
12
+ response = EOAT::EveApi.new.ErrorList
13
+ response.from_cache.should == true
14
+ response.errors.class.should == EOAT::Result::EveType::RowSet
15
+ response.errors.get(513).errorCode.should == '513'
13
16
  end
14
17
  end
@@ -9,6 +9,9 @@ describe EOAT::Cache::RedisCache do
9
9
 
10
10
  it 'return result from cache' do
11
11
  EOAT.cache = EOAT::Cache::RedisCache.new
12
- EOAT::EveApi.new.ErrorList.from_cache.should == true
12
+ response = EOAT::EveApi.new.ErrorList
13
+ response.from_cache.should == true
14
+ response.errors.class.should == EOAT::Result::EveType::RowSet
15
+ response.errors.get(513).errorCode.should == '513'
13
16
  end
14
17
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eoat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Kotov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-09 00:00:00.000000000 Z
11
+ date: 2013-10-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty