yandex-api 0.0.2 → 0.0.3
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/README.md +11 -12
- data/lib/yandex-api/direct.rb +15 -12
- data/lib/yandex-api/version.rb +1 -1
- metadata +2 -2
data/README.md
CHANGED
@@ -27,17 +27,7 @@
|
|
27
27
|
application_id: "id"
|
28
28
|
login: "login"
|
29
29
|
locale: "ru"
|
30
|
-
|
31
|
-
|
32
|
-
Пример работы с gem-ом:
|
33
|
-
|
34
|
-
require 'yandex-api'
|
35
|
-
Yandex::API::Direct.load "yandex_direct.yml"
|
36
|
-
|
37
|
-
campaign = Yandex::API::Direct::CampaignInfo.list.first
|
38
|
-
|
39
|
-
puts campaign.inspect
|
40
|
-
puts campaign.banners.first.inspect
|
30
|
+
verbose: true
|
41
31
|
|
42
32
|
## в Ruby On Rails:
|
43
33
|
|
@@ -48,8 +38,17 @@
|
|
48
38
|
application_id: "id"
|
49
39
|
login: "login"
|
50
40
|
locale: "ru"
|
51
|
-
|
41
|
+
verbose: true
|
52
42
|
|
53
43
|
Добавить в initializers файл yandex_direct.rb
|
54
44
|
|
55
45
|
Yandex::API::Direct.load File.join(Rails.root,"config","yandex_direct.yml"), Rails.env
|
46
|
+
|
47
|
+
## Пример работы:
|
48
|
+
|
49
|
+
require 'yandex-api'
|
50
|
+
Yandex::API::Direct.load "yandex_direct.yml"
|
51
|
+
|
52
|
+
campaign = Yandex::API::Direct::CampaignInfo.list.first
|
53
|
+
puts campaign.inspect
|
54
|
+
puts campaign.banners.first.inspect
|
data/lib/yandex-api/direct.rb
CHANGED
@@ -16,26 +16,35 @@ module Yandex
|
|
16
16
|
end
|
17
17
|
@configuration
|
18
18
|
end
|
19
|
+
|
20
|
+
def self.parse_json json
|
21
|
+
begin
|
22
|
+
return JSON.parse(json)
|
23
|
+
rescue => e
|
24
|
+
raise RuntimeError.new "#{e.message} in response"
|
25
|
+
end
|
26
|
+
end
|
19
27
|
|
20
28
|
def self.load file, env = nil
|
21
29
|
@enviroment = env if env
|
22
30
|
config = YAML.load_file(file)
|
23
31
|
@configuration = defined?(@enviroment) ? config[@enviroment] : config
|
24
32
|
end
|
25
|
-
|
33
|
+
|
26
34
|
def self.request method, params = {}
|
35
|
+
|
27
36
|
body = {
|
28
37
|
:locale => configuration["locale"],
|
29
38
|
:login => configuration["login"],
|
30
39
|
:application_id => configuration["application_id"],
|
31
|
-
:token => configuration["
|
40
|
+
:token => configuration["application_token"],
|
32
41
|
:method => method
|
33
42
|
}
|
34
43
|
|
35
44
|
body.merge!({:param => params}) unless params.empty?
|
36
45
|
url = URI.parse(URL_API)
|
37
46
|
|
38
|
-
if configuration["
|
47
|
+
if configuration["verbose"]
|
39
48
|
puts "\t\033[32mURL: \033[0m#{URL_API}"
|
40
49
|
puts "\t\033[32mMethod: \033[0m#{method}"
|
41
50
|
puts "\t\033[32mParams: \033[0m#{params.inspect}"
|
@@ -48,17 +57,11 @@ module Yandex
|
|
48
57
|
|
49
58
|
raise Yandex::API::RuntimeError.new("#{response.code} - #{response.message}") unless response.code.to_i == 200
|
50
59
|
|
51
|
-
json =
|
60
|
+
json = Direct.parse_json(response.body)
|
52
61
|
|
53
|
-
|
54
|
-
json = JSON.parse(response.body)
|
55
|
-
rescue => e
|
56
|
-
raise RuntimeError.new "#{e.message} in response"
|
57
|
-
end
|
58
|
-
|
59
|
-
if json.has_key?("error_code")
|
62
|
+
if json.has_key?("error_code") and json.has_key?("error_str")
|
60
63
|
code = json["error_code"].to_i
|
61
|
-
error = json
|
64
|
+
error = json["error_detail"].length > 0 ? json["error_detail"] : json["error_str"]
|
62
65
|
raise RuntimeError.new "#{code} - #{error}"
|
63
66
|
end
|
64
67
|
|
data/lib/yandex-api/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yandex-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-08-
|
12
|
+
date: 2012-08-13 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Yandex.API integration
|
15
15
|
email:
|