neuron-client 0.0.1 → 0.0.2

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/Rakefile CHANGED
@@ -22,9 +22,3 @@ task :console do
22
22
  puts "Loading development console..."
23
23
  system "irb -I #{File.join('.', 'lib')} -r #{File.join('.', 'lib', 'neuron-client')}"
24
24
  end
25
-
26
- task :force_release do
27
- gem_helper = Bundler::GemHelper.new(Dir.pwd)
28
- built_gem_path = gem_helper.build_gem
29
- gem_helper.send(:rubygem_push, built_gem_path)
30
- end
@@ -27,7 +27,7 @@ module Neuron
27
27
  rescue
28
28
  raise "Invalid admin_url: #{@config.admin_url}"
29
29
  end
30
- self.connection = Connection.new(@config.admin_url, @config.key)
30
+ self.connection = Connection.new(@config.admin_url, @config.admin_key)
31
31
  true
32
32
  end
33
33
 
@@ -18,21 +18,31 @@ module Neuron
18
18
  end
19
19
 
20
20
  def get(path="", attrs={})
21
- RestClient.get("#{@url}/#{path}.json?#{query_string(attrs)}", :content_type => :json, :accept => :json) do |response, request, result, &block|
21
+ format = attrs.delete(:format) || :json
22
+ RestClient.get("#{@url}/#{[path, format].select(&:present?).join(".")}?#{query_string(attrs)}",
23
+ format.present? ? {:content_type => format, :accept => format} : {}) do |response, request, result, &block|
24
+ # follow redirection
25
+ if [301, 302, 307].include? response.code
26
+ response.follow_redirection(request, result, &block)
27
+ end
28
+
22
29
  case response.code
23
30
  when 200
24
- return Yajl.load(response.to_str)
31
+ return (format == :json ? Yajl.load(response.to_str) : response.to_str)
25
32
  else
26
- raise "Error : #{response.code} - #{response.to_str}"
33
+ raise "Error : #{response.inspect}"
27
34
  end
28
35
  end
29
36
  end
30
37
 
31
38
  def post(path="", form={}, attrs={})
32
- RestClient.post("#{@url}/#{path}.json?#{query_string(attrs)}", Yajl.dump(form), :content_type => :json, :accept => :json) do |response, request, result, &block|
39
+ format = attrs.delete(:format) || :json
40
+ RestClient.post("#{@url}/#{[path, format].select(&:present?).join(".")}?#{query_string(attrs)}",
41
+ (format == :json ? Yajl.dump(form) : form),
42
+ format.present? ? {:content_type => format, :accept => format} : {}) do |response, request, result, &block|
33
43
  case response.code
34
44
  when 201
35
- return Yajl.load(response.to_str)
45
+ return (format == :json ? Yajl.load(response.to_str) : response.to_str)
36
46
  else
37
47
  raise "Error : #{response.code} - #{response.to_str}"
38
48
  end
@@ -40,10 +50,13 @@ module Neuron
40
50
  end
41
51
 
42
52
  def put(path="", form={}, attrs={})
43
- RestClient.put("#{@url}/#{path}.json?#{query_string}", Yajl.dump(form), :content_type => :json, :accept => :json) do |response, request, result, &block|
53
+ format = attrs.delete(:format) || :json
54
+ RestClient.put("#{@url}/#{[path, format].select(&:present?).join(".")}?#{query_string}",
55
+ (format == :json ? Yajl.dump(form) : form),
56
+ format.present? ? {:content_type => format, :accept => format} : {}) do |response, request, result, &block|
44
57
  case response.code
45
58
  when 200
46
- return Yajl.load(response.to_str)
59
+ return (format == :json ? Yajl.load(response.to_str) : response.to_str)
47
60
  else
48
61
  raise "Error : #{response.code} - #{response.to_str}"
49
62
  end
@@ -51,10 +64,12 @@ module Neuron
51
64
  end
52
65
 
53
66
  def delete(path="", attrs={})
54
- RestClient.delete("#{@url}/#{path}.json?#{query_string(attrs)}", :content_type => :json, :accept => :json) do |response, request, result, &block|
67
+ format = attrs.delete(:format) || :json
68
+ RestClient.delete("#{@url}/#{[path, format].select(&:present?).join(".")}?#{query_string(attrs)}",
69
+ format.present? ? {:content_type => format, :accept => format} : {}) do |response, request, result, &block|
55
70
  case response.code
56
71
  when 200
57
- return Yajl.load(response.to_str)
72
+ return (format == :json ? Yajl.load(response.to_str) : response.to_str)
58
73
  else
59
74
  raise "Error : #{response.code} - #{response.to_str}"
60
75
  end
@@ -0,0 +1,16 @@
1
+ module Neuron
2
+ module Client
3
+ class Report
4
+ include Connected
5
+ resource_name("report")
6
+ resources_name("reports")
7
+
8
+ attr_accessor :errors
9
+ attr_accessor :template, :parameters, :status
10
+
11
+ def result
12
+ self.class.connection.get("reports/#{id}/result", :format => "")
13
+ end
14
+ end
15
+ end
16
+ end
@@ -1,5 +1,5 @@
1
1
  module Neuron
2
2
  module Client
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.2"
4
4
  end
5
5
  end
data/lib/neuron-client.rb CHANGED
@@ -9,4 +9,16 @@ require "neuron-client/blocked_user_agent"
9
9
  require "neuron-client/real_time_stats"
10
10
  require "neuron-client/report"
11
11
  require "neuron-client/s3_file"
12
- require "neuron-client/zone"
12
+ require "neuron-client/zone"
13
+
14
+ class Object
15
+ def blank?
16
+ return true if self.nil?
17
+ return true if self.respond_to?(:empty) && self.empty?
18
+ false
19
+ end
20
+
21
+ def present?
22
+ !self.blank?
23
+ end
24
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: neuron-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,12 +10,12 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2011-07-21 00:00:00.000000000 -05:00
13
+ date: 2011-07-26 00:00:00.000000000 -05:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rest-client
18
- requirement: &2153592420 !ruby/object:Gem::Requirement
18
+ requirement: &2161396140 !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
21
  - - ! '>='
@@ -23,10 +23,10 @@ dependencies:
23
23
  version: 1.6.3
24
24
  type: :runtime
25
25
  prerelease: false
26
- version_requirements: *2153592420
26
+ version_requirements: *2161396140
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: yajl-ruby
29
- requirement: &2153591920 !ruby/object:Gem::Requirement
29
+ requirement: &2161395640 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
32
  - - ! '>='
@@ -34,10 +34,10 @@ dependencies:
34
34
  version: 0.8.2
35
35
  type: :runtime
36
36
  prerelease: false
37
- version_requirements: *2153591920
37
+ version_requirements: *2161395640
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: rspec
40
- requirement: &2153591460 !ruby/object:Gem::Requirement
40
+ requirement: &2161395180 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
43
  - - ! '>='
@@ -45,10 +45,10 @@ dependencies:
45
45
  version: 2.6.0
46
46
  type: :development
47
47
  prerelease: false
48
- version_requirements: *2153591460
48
+ version_requirements: *2161395180
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: simplecov
51
- requirement: &2153591000 !ruby/object:Gem::Requirement
51
+ requirement: &2161394720 !ruby/object:Gem::Requirement
52
52
  none: false
53
53
  requirements:
54
54
  - - ! '>='
@@ -56,10 +56,10 @@ dependencies:
56
56
  version: 0.4.2
57
57
  type: :development
58
58
  prerelease: false
59
- version_requirements: *2153591000
59
+ version_requirements: *2161394720
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: rb-fsevent
62
- requirement: &2153590500 !ruby/object:Gem::Requirement
62
+ requirement: &2161394220 !ruby/object:Gem::Requirement
63
63
  none: false
64
64
  requirements:
65
65
  - - ! '>='
@@ -67,10 +67,10 @@ dependencies:
67
67
  version: 0.4.1
68
68
  type: :development
69
69
  prerelease: false
70
- version_requirements: *2153590500
70
+ version_requirements: *2161394220
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: guard
73
- requirement: &2153622280 !ruby/object:Gem::Requirement
73
+ requirement: &2161393760 !ruby/object:Gem::Requirement
74
74
  none: false
75
75
  requirements:
76
76
  - - ! '>='
@@ -78,10 +78,10 @@ dependencies:
78
78
  version: 0.5.1
79
79
  type: :development
80
80
  prerelease: false
81
- version_requirements: *2153622280
81
+ version_requirements: *2161393760
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: guard-bundler
84
- requirement: &2153621820 !ruby/object:Gem::Requirement
84
+ requirement: &2161393300 !ruby/object:Gem::Requirement
85
85
  none: false
86
86
  requirements:
87
87
  - - ! '>='
@@ -89,10 +89,10 @@ dependencies:
89
89
  version: 0.1.3
90
90
  type: :development
91
91
  prerelease: false
92
- version_requirements: *2153621820
92
+ version_requirements: *2161393300
93
93
  - !ruby/object:Gem::Dependency
94
94
  name: guard-rspec
95
- requirement: &2153621360 !ruby/object:Gem::Requirement
95
+ requirement: &2161392840 !ruby/object:Gem::Requirement
96
96
  none: false
97
97
  requirements:
98
98
  - - ! '>='
@@ -100,10 +100,10 @@ dependencies:
100
100
  version: 0.4.0
101
101
  type: :development
102
102
  prerelease: false
103
- version_requirements: *2153621360
103
+ version_requirements: *2161392840
104
104
  - !ruby/object:Gem::Dependency
105
105
  name: fakeweb
106
- requirement: &2153620900 !ruby/object:Gem::Requirement
106
+ requirement: &2161392380 !ruby/object:Gem::Requirement
107
107
  none: false
108
108
  requirements:
109
109
  - - ! '>='
@@ -111,10 +111,10 @@ dependencies:
111
111
  version: 1.3.0
112
112
  type: :development
113
113
  prerelease: false
114
- version_requirements: *2153620900
114
+ version_requirements: *2161392380
115
115
  - !ruby/object:Gem::Dependency
116
116
  name: vcr
117
- requirement: &2153620440 !ruby/object:Gem::Requirement
117
+ requirement: &2161391920 !ruby/object:Gem::Requirement
118
118
  none: false
119
119
  requirements:
120
120
  - - ! '>='
@@ -122,7 +122,7 @@ dependencies:
122
122
  version: 1.10.2
123
123
  type: :development
124
124
  prerelease: false
125
- version_requirements: *2153620440
125
+ version_requirements: *2161391920
126
126
  description: Neuron Admin Client Gem
127
127
  email:
128
128
  - devteam@rmmonline.com