vk 0.0.4 → 0.6.5.53

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.
@@ -1,3 +1,4 @@
1
1
  module Vk
2
- VERSION = '0.0.4'
2
+ VK_API = '5.53'
3
+ VERSION = "0.6.#{VK_API}"
3
4
  end
@@ -1,6 +1,6 @@
1
- require 'rubygems'
2
1
  require 'bundler/setup'
3
2
  require 'vk'
3
+ require 'webmock/rspec'
4
4
 
5
5
  Bundler.require(:development)
6
6
 
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+
3
+ describe Vk::Client do
4
+ describe 'class' do
5
+ subject { Vk::Client }
6
+
7
+ it { is_expected.to respond_to(:auth_key) }
8
+ it { is_expected.to respond_to(:authenticated?) }
9
+ it { expect(Vk::Client.auth_key(VK_VIEWER_ID)).to eq(VK_AUTH_KEY) }
10
+ it { expect(Vk::Client.authenticated?(VK_VIEWER_ID, VK_AUTH_KEY)).to be true }
11
+ end
12
+
13
+ describe 'instance' do
14
+ let(:client) { Vk::Client.new }
15
+ subject { client }
16
+
17
+ it { is_expected.to respond_to(:request) }
18
+ end
19
+ end
@@ -1,5 +1,5 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Vk do
4
- it { should respond_to(:request) }
4
+ it { is_expected.to respond_to(:client) }
5
5
  end
data/vk.gemspec CHANGED
@@ -3,24 +3,33 @@ $:.push File.expand_path('../lib', __FILE__)
3
3
  require 'vk/version'
4
4
 
5
5
  Gem::Specification.new do |s|
6
- s.name = 'vk'
7
- s.version = Vk::VERSION
8
- s.platform = Gem::Platform::RUBY
9
- s.authors = ['Alexander Semyonov']
10
- s.email = ['al@semyonov.us']
11
- s.homepage = 'http://github.com/alsemyonov/vk'
12
- s.summary = %q{Simple wrapper for vk.com API}
6
+ s.name = 'vk'
7
+ s.version = Vk::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ['Alexander Semyonov']
10
+ s.email = %w(al@semyonov.us)
11
+ s.homepage = 'http://github.com/alsemyonov/vk'
12
+ s.summary = %q{Object-oriented wrapper for vk.com API}
13
13
  s.description = %q{Wrapper for calling vk.com API from vk.com application servers and sites using vk.com API}
14
14
 
15
15
  s.rubyforge_project = 'vk'
16
16
 
17
- s.files = `git ls-files`.split("\n")
18
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
- s.require_paths = ['lib']
17
+ s.files = `git ls-files`.split("\n")
18
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
+ s.executables = `git ls-files -- exe/*`.split("\n").map { |f| File.basename(f) }
20
+ s.require_paths = %w(lib)
21
21
 
22
- s.add_dependency('activesupport', '~> 3.0')
22
+ s.add_dependency('activesupport', '>= 4.2.2')
23
+ s.add_dependency('oauth2')
23
24
 
24
- s.add_development_dependency('rspec', '~> 2.5.0')
25
- s.add_development_dependency('yard', '~> 0.6.8')
25
+ s.add_development_dependency('rake')
26
+ s.add_development_dependency('rspec', '~> 2.99')
27
+ s.add_development_dependency('yard')
28
+ s.add_development_dependency('redcarpet')
29
+ s.add_development_dependency('webmock')
30
+ s.add_development_dependency('yard-redcarpet-ext')
31
+ s.add_development_dependency('pry')
32
+ s.add_development_dependency('byebug')
33
+ s.add_development_dependency('pry-byebug')
34
+ s.add_development_dependency('dotenv')
26
35
  end
metadata CHANGED
@@ -1,49 +1,183 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
5
- prerelease:
4
+ version: 0.6.5.53
6
5
  platform: ruby
7
6
  authors:
8
7
  - Alexander Semyonov
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2011-05-12 00:00:00.000000000Z
11
+ date: 2016-09-12 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: activesupport
16
- requirement: &80900250 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
- - - ~>
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
- version: '3.0'
19
+ version: 4.2.2
22
20
  type: :runtime
23
21
  prerelease: false
24
- version_requirements: *80900250
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 4.2.2
27
+ - !ruby/object:Gem::Dependency
28
+ name: oauth2
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
25
55
  - !ruby/object:Gem::Dependency
26
56
  name: rspec
27
- requirement: &80899680 !ruby/object:Gem::Requirement
28
- none: false
57
+ requirement: !ruby/object:Gem::Requirement
29
58
  requirements:
30
- - - ~>
59
+ - - "~>"
31
60
  - !ruby/object:Gem::Version
32
- version: 2.5.0
61
+ version: '2.99'
33
62
  type: :development
34
63
  prerelease: false
35
- version_requirements: *80899680
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.99'
36
69
  - !ruby/object:Gem::Dependency
37
70
  name: yard
38
- requirement: &80899250 !ruby/object:Gem::Requirement
39
- none: false
71
+ requirement: !ruby/object:Gem::Requirement
40
72
  requirements:
41
- - - ~>
73
+ - - ">="
42
74
  - !ruby/object:Gem::Version
43
- version: 0.6.8
75
+ version: '0'
44
76
  type: :development
45
77
  prerelease: false
46
- version_requirements: *80899250
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: redcarpet
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: webmock
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: yard-redcarpet-ext
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: pry
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: byebug
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: pry-byebug
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: dotenv
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
47
181
  description: Wrapper for calling vk.com API from vk.com application servers and sites
48
182
  using vk.com API
49
183
  email:
@@ -52,48 +186,75 @@ executables: []
52
186
  extensions: []
53
187
  extra_rdoc_files: []
54
188
  files:
55
- - .gitignore
56
- - .yardopts
189
+ - ".gitignore"
190
+ - ".travis.yml"
191
+ - ".yardopts"
57
192
  - Gemfile
58
193
  - README.markdown
59
194
  - Rakefile
195
+ - bin/console
60
196
  - lib/vk.rb
197
+ - lib/vk/access.rb
198
+ - lib/vk/album.rb
199
+ - lib/vk/audio.rb
200
+ - lib/vk/audio/album.rb
201
+ - lib/vk/audio/lyrics.rb
61
202
  - lib/vk/base.rb
62
203
  - lib/vk/city.rb
204
+ - lib/vk/client.rb
205
+ - lib/vk/client/oauth2.rb
63
206
  - lib/vk/country.rb
64
207
  - lib/vk/dsl.rb
208
+ - lib/vk/dsl/audio.rb
209
+ - lib/vk/dsl/database.rb
210
+ - lib/vk/dsl/friends.rb
211
+ - lib/vk/dsl/groups.rb
212
+ - lib/vk/dsl/newsfeed.rb
213
+ - lib/vk/dsl/photos.rb
214
+ - lib/vk/dsl/users.rb
215
+ - lib/vk/dsl/wall.rb
216
+ - lib/vk/error.rb
217
+ - lib/vk/exceptions.rb
218
+ - lib/vk/group.rb
219
+ - lib/vk/photo.rb
65
220
  - lib/vk/post.rb
66
221
  - lib/vk/post/wall.rb
67
- - lib/vk/request.rb
222
+ - lib/vk/prompt.rb
223
+ - lib/vk/region.rb
224
+ - lib/vk/result.rb
225
+ - lib/vk/stats.rb
226
+ - lib/vk/street.rb
68
227
  - lib/vk/user.rb
69
228
  - lib/vk/version.rb
70
229
  - spec/spec_helper.rb
71
- - spec/vk/request_spec.rb
230
+ - spec/vk/client_spec.rb
72
231
  - spec/vk_spec.rb
73
232
  - vk.gemspec
74
233
  homepage: http://github.com/alsemyonov/vk
75
234
  licenses: []
235
+ metadata: {}
76
236
  post_install_message:
77
237
  rdoc_options: []
78
238
  require_paths:
79
239
  - lib
80
240
  required_ruby_version: !ruby/object:Gem::Requirement
81
- none: false
82
241
  requirements:
83
- - - ! '>='
242
+ - - ">="
84
243
  - !ruby/object:Gem::Version
85
244
  version: '0'
86
245
  required_rubygems_version: !ruby/object:Gem::Requirement
87
- none: false
88
246
  requirements:
89
- - - ! '>='
247
+ - - ">="
90
248
  - !ruby/object:Gem::Version
91
249
  version: '0'
92
250
  requirements: []
93
251
  rubyforge_project: vk
94
- rubygems_version: 1.7.2
252
+ rubygems_version: 2.6.4
95
253
  signing_key:
96
- specification_version: 3
97
- summary: Simple wrapper for vk.com API
98
- test_files: []
254
+ specification_version: 4
255
+ summary: Object-oriented wrapper for vk.com API
256
+ test_files:
257
+ - spec/spec_helper.rb
258
+ - spec/vk/client_spec.rb
259
+ - spec/vk_spec.rb
99
260
  has_rdoc:
@@ -1,65 +0,0 @@
1
- # coding: utf-8
2
- require 'vk'
3
-
4
- require 'digest/md5'
5
- require 'uri'
6
- require 'net/http'
7
-
8
- require 'active_support/core_ext/object/to_query'
9
- require 'json'
10
-
11
- module Vk
12
- # Class for requesting vk.com api data
13
- # @author Alexander Semyonov
14
- class Request
15
- VERSION = '3.0'
16
- SCHEME = 'http'
17
- HOST = 'api.vk.com'
18
- PATH = '/api.php'
19
- PORT = 80
20
-
21
- class << self
22
- # Generates auth_key for viewer
23
- # @param [Fixnum, String] viewer_id viewer’s identifier
24
- def auth_key(viewer_id)
25
- Digest::MD5.hexdigest("#{Vk.app_id}_#{viewer_id}_#{Vk.app_secret}")
26
- end
27
-
28
- def authenticated?(viewer_id, auth_key)
29
- auth_key == self.auth_key(viewer_id)
30
- end
31
-
32
- def dsl!
33
- require 'vk/dsl'
34
- include Vk::DSL
35
- end
36
- end
37
-
38
- def request(method_name, data = {})
39
- data.merge!(
40
- api_id: Vk.app_id,
41
- format: :json,
42
- method: method_name,
43
- v: VERSION
44
- )
45
- Vk.log(data)
46
- url = URI.parse("#{SCHEME}://#{HOST}:#{PORT}#{PATH}?#{data.to_query}&sig=#{signature(data)}")
47
- http_response = Net::HTTP.get_response(url).body
48
- json_response = JSON.parse(http_response)
49
- Vk.log(json_response)
50
- json_response['response']
51
- end
52
-
53
-
54
- def method_missing(method_name, options = {})
55
- request(method_name, options)
56
- end
57
-
58
- private
59
-
60
- def signature(data)
61
- signature = data.keys.sort.inject('') { |result, key| result << "#{key}=#{data[key]}" } << Vk.app_secret
62
- Digest::MD5.hexdigest(signature)
63
- end
64
- end
65
- end
@@ -1,19 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Vk::Request do
4
- describe 'class' do
5
- subject { Vk::Request }
6
-
7
- it { should respond_to(:auth_key) }
8
- it { should respond_to(:authenticated?) }
9
- it { Vk::Request.auth_key(VK_VIEWER_ID).should == VK_AUTH_KEY }
10
- it { Vk::Request.authenticated?(VK_VIEWER_ID, VK_AUTH_KEY).should be_true }
11
- end
12
-
13
- describe 'instance' do
14
- let(:request) { Vk::Request.new }
15
- subject { request }
16
-
17
- it { should respond_to(:request) }
18
- end
19
- end