holoserve-connector 0.2.1 → 0.3.0

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
@@ -1,56 +1,7 @@
1
1
  require 'rubygems'
2
2
  require 'bundler/setup'
3
3
 
4
- begin
5
- require 'cucumber'
6
- require 'cucumber/rake/task'
7
-
8
- Cucumber::Rake::Task.new(:features) do |task|
9
- task.cucumber_opts = "features --format pretty"
10
- end
11
-
12
- namespace :features do
13
-
14
- Cucumber::Rake::Task.new(:wip) do |task|
15
- task.cucumber_opts = "features --format pretty --tags @wip"
16
- end
17
-
18
- end
19
- rescue LoadError
20
- end
21
-
22
- begin
23
- require 'rspec'
24
- require 'rspec/core/rake_task'
25
-
26
- desc "Run specs"
27
- RSpec::Core::RakeTask.new do |task|
28
- task.pattern = "./spec/lib/**/*_spec.rb"
29
- end
30
- rescue LoadError
31
- end
32
-
33
- begin
34
- require 'rdoc'
35
- require 'rdoc/task'
36
-
37
- Rake::RDocTask.new do |rdoc|
38
- rdoc.main = "README.rdoc"
39
- rdoc.rdoc_files.include("README.rdoc", "lib/**/*.rb")
40
- end
41
- rescue LoadError
42
- end
43
-
44
- namespace :gem do
45
-
46
- desc "Builds the gem"
47
- task :build do
48
- system "gem build *.gemspec && mkdir -p pkg/ && mv *.gem pkg/"
49
- end
50
-
51
- desc "Builds and installs the gem"
52
- task :install => :build do
53
- system "gem install pkg/"
54
- end
55
-
56
- end
4
+ load File.join(File.dirname(__FILE__), "tasks", "features.rake")
5
+ load File.join(File.dirname(__FILE__), "tasks", "gem.rake")
6
+ load File.join(File.dirname(__FILE__), "tasks", "rdoc.rake")
7
+ load File.join(File.dirname(__FILE__), "tasks", "spec.rake")
@@ -1,3 +1,4 @@
1
+ require 'transport'
1
2
 
2
3
  class Holoserve::Connector::Bucket
3
4
 
@@ -1,3 +1,4 @@
1
+ require 'transport'
1
2
 
2
3
  class Holoserve::Connector::History
3
4
 
@@ -1,4 +1,4 @@
1
- require 'yaml'
1
+ require 'transport'
2
2
 
3
3
  class Holoserve::Connector::Pairs
4
4
 
@@ -6,37 +6,19 @@ class Holoserve::Connector::Pairs
6
6
  @client = client
7
7
  end
8
8
 
9
- def upload(pattern)
10
- Dir[ pattern ].each do |filename|
11
- upload_file filename
12
- end
9
+ def ids
10
+ Transport::JSON.request :get,
11
+ "#{@client.url}/pairs",
12
+ :expected_status_code => 200
13
13
  end
14
14
 
15
15
  def download(id)
16
- response = Transport::HTTP.request :get,
17
- "#{@client.url}/pairs/#{id}.yaml",
18
- :expected_status_code => 200
19
- YAML.load response
16
+ Transport::JSON.request :get,
17
+ "#{@client.url}/pairs/#{id}",
18
+ :expected_status_code => 200
20
19
  rescue Transport::UnexpectedStatusCodeError => error
21
20
  raise Holoserve::Connector::Error, error.message unless error.status_code == 404
22
21
  nil
23
22
  end
24
23
 
25
- def clear!
26
- Transport::JSON.request :delete, "#{@client.url}/pairs"
27
- end
28
-
29
- private
30
-
31
- def upload_file(filename)
32
- uploader = Holoserve::Connector::Tool::Uploader.new filename,
33
- :post,
34
- "#{@client.url}/pairs",
35
- :expected_status_code => 200
36
- uploader.upload
37
- rescue Transport::UnexpectedStatusCodeError => error
38
- raise Holoserve::Connector::Error, "the file #{filename} has an invalid format" if error.status_code == 400
39
- raise Holoserve::Connector::Error, error.message
40
- end
41
-
42
24
  end
@@ -0,0 +1,21 @@
1
+ require 'transport'
2
+
3
+ class Holoserve::Connector::State
4
+
5
+ def initialize(client)
6
+ @client = client
7
+ end
8
+
9
+ def set(hash)
10
+ Transport::JSON.request :put, "#{@client.url}/state", :parameters => hash
11
+ end
12
+
13
+ def get
14
+ Transport::JSON.request :get, "#{@client.url}/state"
15
+ end
16
+
17
+ def clear!
18
+ Transport::JSON.request :delete, "#{@client.url}/state"
19
+ end
20
+
21
+ end
@@ -5,7 +5,7 @@ class Holoserve::Connector
5
5
  autoload :Fixtures, File.join(File.dirname(__FILE__), "connector", "fixtures")
6
6
  autoload :History, File.join(File.dirname(__FILE__), "connector", "history")
7
7
  autoload :Pairs, File.join(File.dirname(__FILE__), "connector", "pairs")
8
- autoload :Situation, File.join(File.dirname(__FILE__), "connector", "situation")
8
+ autoload :State, File.join(File.dirname(__FILE__), "connector", "state")
9
9
  autoload :Tool, File.join(File.dirname(__FILE__), "connector", "tool")
10
10
 
11
11
  class Error < StandardError; end
@@ -14,10 +14,9 @@ class Holoserve::Connector
14
14
  attr_reader :port
15
15
 
16
16
  attr_reader :bucket
17
- attr_reader :fixtures
18
17
  attr_reader :history
19
18
  attr_reader :pairs
20
- attr_reader :situation
19
+ attr_reader :state
21
20
 
22
21
  def initialize(options = { })
23
22
  @host, @port = *options.values_at(:host, :port)
@@ -25,10 +24,9 @@ class Holoserve::Connector
25
24
  @port ||= 4250
26
25
 
27
26
  @bucket = Bucket.new self
28
- @fixtures = Fixtures.new self
29
27
  @history = History.new self
30
28
  @pairs = Pairs.new self
31
- @situation = Situation.new self
29
+ @state = State.new self
32
30
  end
33
31
 
34
32
  def url
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: holoserve-connector
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-10 00:00:00.000000000 Z
12
+ date: 2012-03-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: transport
16
- requirement: &70269436646480 !ruby/object:Gem::Requirement
16
+ requirement: &70365766527360 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70269436646480
24
+ version_requirements: *70365766527360
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: holoserve
27
- requirement: &70269436645880 !ruby/object:Gem::Requirement
27
+ requirement: &70365766526560 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70269436645880
35
+ version_requirements: *70365766526560
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: cucumber
38
- requirement: &70269436645320 !ruby/object:Gem::Requirement
38
+ requirement: &70365766525820 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70269436645320
46
+ version_requirements: *70365766525820
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rspec
49
- requirement: &70269436644820 !ruby/object:Gem::Requirement
49
+ requirement: &70365766525140 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70269436644820
57
+ version_requirements: *70365766525140
58
58
  description: Provides a client for the control interface of holoserve and some RSpec
59
59
  matchers.
60
60
  email: philipp.bruell@skrill.com
@@ -67,10 +67,9 @@ files:
67
67
  - LICENSE
68
68
  - Rakefile
69
69
  - lib/holoserve/connector/bucket.rb
70
- - lib/holoserve/connector/fixtures.rb
71
70
  - lib/holoserve/connector/history.rb
72
71
  - lib/holoserve/connector/pairs.rb
73
- - lib/holoserve/connector/situation.rb
72
+ - lib/holoserve/connector/state.rb
74
73
  - lib/holoserve/connector/tool/uploader.rb
75
74
  - lib/holoserve/connector/tool.rb
76
75
  - lib/holoserve/connector.rb
@@ -92,7 +91,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
92
91
  version: '0'
93
92
  segments:
94
93
  - 0
95
- hash: -282806050013495417
94
+ hash: 35958409398174168
96
95
  required_rubygems_version: !ruby/object:Gem::Requirement
97
96
  none: false
98
97
  requirements:
@@ -101,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
101
100
  version: '0'
102
101
  requirements: []
103
102
  rubyforge_project: holoserve-connector
104
- rubygems_version: 1.8.10
103
+ rubygems_version: 1.8.15
105
104
  signing_key:
106
105
  specification_version: 3
107
106
  summary: Connector library for HoloServe.
@@ -1,41 +0,0 @@
1
-
2
- class Holoserve::Connector::Fixtures
3
-
4
- def initialize(client)
5
- @client = client
6
- end
7
-
8
- def upload(pattern)
9
- Dir[ pattern ].each do |filename|
10
- upload_file filename
11
- end
12
- end
13
-
14
- def download(id)
15
- response = Transport::HTTP.request :get,
16
- "#{@client.url}/fixtures/#{id}.yaml",
17
- :expected_status_code => 200
18
- YAML.load response
19
- rescue Transport::UnexpectedStatusCodeError => error
20
- raise Holoserve::Connector::Error, error.message unless error.status_code == 404
21
- nil
22
- end
23
-
24
- def clear!
25
- Transport::JSON.request :delete, "#{@client.url}/fixtures"
26
- end
27
-
28
- private
29
-
30
- def upload_file(filename)
31
- uploader = Holoserve::Connector::Tool::Uploader.new filename,
32
- :post,
33
- "#{@client.url}/fixtures",
34
- :expected_status_code => 200
35
- uploader.upload
36
- rescue Transport::UnexpectedStatusCodeError => error
37
- raise Holoserve::Connector::Error, "the file #{filename} has an invalid format" if error.status_code == 400
38
- raise Holoserve::Connector::Error, error.message
39
- end
40
-
41
- end
@@ -1,22 +0,0 @@
1
-
2
- class Holoserve::Connector::Situation
3
-
4
- def initialize(client)
5
- @client = client
6
- end
7
-
8
- def name=(value)
9
- Transport::JSON.request :put, "#{@client.url}/situation", :parameters => { :name => value }
10
- end
11
-
12
- def name
13
- response = Transport::JSON.request :get, "#{@client.url}/situation"
14
- name = response["name"]
15
- name == "" ? nil : name
16
- end
17
-
18
- def clear!
19
- Transport::JSON.request :put, "#{@client.url}/situation", :parameters => { :name => nil }
20
- end
21
-
22
- end