me2api-ruby 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,8 +1,3 @@
1
1
  source "http://rubygems.org"
2
2
 
3
3
  gemspec
4
-
5
- gem "rake", "~> 0.8.3"
6
- gem "tzinfo", "~> 0.3.33"
7
- gem "json", "~> 1.7.3"
8
- gem "curb", "~> 0.8.0"
data/Gemfile.lock CHANGED
@@ -2,6 +2,10 @@ PATH
2
2
  remote: .
3
3
  specs:
4
4
  me2api-ruby (0.1.0)
5
+ curb (~> 0.8.0)
6
+ json (~> 1.7.3)
7
+ rake (~> 0.8.3)
8
+ tzinfo (~> 0.3.33)
5
9
 
6
10
  GEM
7
11
  remote: http://rubygems.org/
@@ -15,8 +19,4 @@ PLATFORMS
15
19
  ruby
16
20
 
17
21
  DEPENDENCIES
18
- curb (~> 0.8.0)
19
- json (~> 1.7.3)
20
22
  me2api-ruby!
21
- rake (~> 0.8.3)
22
- tzinfo (~> 0.3.33)
data/README.md CHANGED
@@ -17,7 +17,7 @@ A Ruby wrapper for the Me2day API.
17
17
  :apikey => APIKEY
18
18
  )
19
19
 
20
- post = api.create_post(USER_ID, 'hello world')
20
+ post = api.create_post(USER_ID, 'hello world', :tag => 'blah blah')
21
21
 
22
22
  참고자료
23
23
  =======
@@ -45,7 +45,17 @@ For more information, see http://unlicense.org/ or the accompanying UNLICENSE fi
45
45
  ChangeLog
46
46
  =========
47
47
 
48
- ## 0.1(2012-06-27)
48
+ ## 0.1.1 (2012-06-29)
49
+
50
+ Features:
51
+
52
+ - gemspec 파일에 dependency 추가
53
+
54
+ Bugfixes:
55
+
56
+ - Model 객체에서 존재하지 않는 속성을 접근할 때 nil이 반환되지 않는 문제 수정
57
+
58
+ ## 0.1.0 (2012-06-27)
49
59
 
50
60
  First release.
51
61
 
data/lib/me2api/api.rb CHANGED
@@ -120,10 +120,5 @@ module Me2API
120
120
  resp = agent.call('noop')
121
121
  Result.new(resp)
122
122
  end
123
-
124
- private
125
- def wrap_array(array)
126
- array.map { |val| wrap(val) }
127
- end
128
123
  end
129
124
  end
data/lib/me2api/model.rb CHANGED
@@ -1,30 +1,22 @@
1
1
  module Me2API
2
2
  class Model < Hash
3
3
  def initialize(hash)
4
- super
5
4
  hash.keys.each { |key| self[key] = hash[key] }
6
5
  end
7
6
 
8
- def wrap(value)
7
+ def self.wrap(value)
9
8
  if value.is_a?(Hash) && !value.is_a?(Me2API::Model)
10
9
  Model.new(value)
10
+ elsif value.is_a?(Array)
11
+ value.map { |v| wrap(v) }
11
12
  else
12
13
  value
13
14
  end
14
15
  end
15
-
16
- def [](key)
17
- key = underscore(key.to_s)
18
- if has_key?(key)
19
- super(key)
20
- else
21
- super(key.to_sym)
22
- end
23
- end
24
16
 
25
17
  def []=(key, value)
26
18
  key = underscore(key.to_s).to_sym
27
- super(key, wrap(value))
19
+ super(key, Model.wrap(value))
28
20
  end
29
21
 
30
22
  def id
@@ -32,7 +24,7 @@ module Me2API
32
24
  end
33
25
 
34
26
  def method_missing(name, *args, &block)
35
- self[name]
27
+ self[name.to_sym]
36
28
  end
37
29
 
38
30
  FROM_OR_TO_REGEX = /(\d{4}\-\d{1,2}-\d{1,2}[T|\s]\d{1,2}\:\d{1,2}\:\d{1,2})([\+|\s])(\d{2}\:{0,}\d{2})/
@@ -1,3 +1,3 @@
1
1
  module Me2API
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
data/me2api-ruby.gemspec CHANGED
@@ -19,4 +19,9 @@ me2api-ruby is a ruby library for the me2API}
19
19
  s.email = ["codian@gmail.com"]
20
20
 
21
21
  s.homepage = "https://github.com/me2day/me2api-ruby"
22
+
23
+ s.add_runtime_dependency "rake", "~> 0.8.3"
24
+ s.add_runtime_dependency "tzinfo", "~> 0.3.33"
25
+ s.add_runtime_dependency "json", "~> 1.7.3"
26
+ s.add_runtime_dependency "curb", "~> 0.8.0"
22
27
  end
@@ -0,0 +1,34 @@
1
+ require File.expand_path('test_helper', File.dirname(__FILE__))
2
+
3
+ class ModelTest < Test::Unit::TestCase
4
+ include Me2APICommon
5
+
6
+ def test_wrap_hash
7
+ hash = Me2API::Model.wrap('KeyOne' => 'value1')
8
+
9
+ assert_kind_of(Me2API::Model, hash)
10
+ assert_equal('value1', hash[:key_one])
11
+ end
12
+
13
+ def test_wrap_hash_in_array
14
+ arr = Me2API::Model.wrap([
15
+ { 'KeyOne' => 'value1' },
16
+ { 'keyTwo' => 'value2' }
17
+ ])
18
+
19
+ assert_kind_of(Array, arr)
20
+ assert_kind_of(Me2API::Model, arr[0])
21
+ assert_equal('value1', arr[0][:key_one])
22
+ end
23
+
24
+ def test_wrap_simple_value
25
+ val = Me2API::Model.wrap('hello')
26
+ assert_kind_of(String, val)
27
+ assert_equal('hello', val)
28
+ end
29
+
30
+ def test_access_not_exist_attribute
31
+ hash = Me2API::Model.wrap('KeyOne' => 'value1')
32
+ assert_nil(hash.not_exist_attribute)
33
+ end
34
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: me2api-ruby
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 0
10
- version: 0.1.0
9
+ - 1
10
+ version: 0.1.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Heungseok Do
@@ -15,9 +15,72 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-06-27 00:00:00 Z
19
- dependencies: []
20
-
18
+ date: 2012-06-29 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: rake
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ~>
27
+ - !ruby/object:Gem::Version
28
+ hash: 57
29
+ segments:
30
+ - 0
31
+ - 8
32
+ - 3
33
+ version: 0.8.3
34
+ type: :runtime
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: tzinfo
38
+ prerelease: false
39
+ requirement: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ hash: 81
45
+ segments:
46
+ - 0
47
+ - 3
48
+ - 33
49
+ version: 0.3.33
50
+ type: :runtime
51
+ version_requirements: *id002
52
+ - !ruby/object:Gem::Dependency
53
+ name: json
54
+ prerelease: false
55
+ requirement: &id003 !ruby/object:Gem::Requirement
56
+ none: false
57
+ requirements:
58
+ - - ~>
59
+ - !ruby/object:Gem::Version
60
+ hash: 13
61
+ segments:
62
+ - 1
63
+ - 7
64
+ - 3
65
+ version: 1.7.3
66
+ type: :runtime
67
+ version_requirements: *id003
68
+ - !ruby/object:Gem::Dependency
69
+ name: curb
70
+ prerelease: false
71
+ requirement: &id004 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ~>
75
+ - !ruby/object:Gem::Version
76
+ hash: 63
77
+ segments:
78
+ - 0
79
+ - 8
80
+ - 0
81
+ version: 0.8.0
82
+ type: :runtime
83
+ version_requirements: *id004
21
84
  description: |-
22
85
  me2API is OpenAPI of me2day.
23
86
  me2api-ruby is a ruby library for the me2API
@@ -52,6 +115,7 @@ files:
52
115
  - me2api-ruby.gemspec
53
116
  - test/agent_test.rb
54
117
  - test/api_test.rb
118
+ - test/model_test.rb
55
119
  - test/test.png
56
120
  - test/test_helper.rb
57
121
  homepage: https://github.com/me2day/me2api-ruby
@@ -90,4 +154,5 @@ summary: A Ruby wrapper for the Me2day API
90
154
  test_files:
91
155
  - test/agent_test.rb
92
156
  - test/api_test.rb
157
+ - test/model_test.rb
93
158
  has_rdoc: