fluidfeatures 0.4.1 → 0.4.4

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.
@@ -0,0 +1,28 @@
1
+ # This file was generated by the `rspec --init` command. Conventionally, all
2
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
3
+ # Require this file using `require "spec_helper"` to ensure that it is only
4
+ # loaded once.
5
+ #
6
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
7
+
8
+ require 'vcr'
9
+ require 'fluidfeatures'
10
+
11
+ Dir["./spec/support/**/*.rb"].sort.each {|f| require f}
12
+
13
+ VCR.configure do |c|
14
+ c.cassette_library_dir = 'spec/cassettes'
15
+ c.hook_into :fakeweb
16
+ c.default_cassette_options = { :record => :new_episodes }
17
+ end
18
+
19
+ RSpec.configure do |config|
20
+ config.treat_symbols_as_metadata_keys_with_true_values = true
21
+ config.run_all_when_everything_filtered = true
22
+ config.filter_run :focus
23
+
24
+ config.order = 'random'
25
+
26
+ config.extend VCR::RSpec::Macros
27
+ config.include FluidFeatures::ApiHelpers
28
+ end
@@ -0,0 +1,27 @@
1
+ module FluidFeatures
2
+ module ApiHelpers
3
+ def api_credentials
4
+ [ ENV["FLUIDFEATURES_BASEURI"], ENV["FLUIDFEATURES_APPID"], ENV["FLUIDFEATURES_SECRET"] ]
5
+ end
6
+
7
+ def app
8
+ @app ||= FluidFeatures.app(*api_credentials.push( Logger.new("/dev/null") ))
9
+ end
10
+
11
+ def transaction
12
+ @transaction ||= app.user_transaction(nil, 'http://example.com', nil, true, [], [])
13
+ end
14
+ attr_writer :transaction
15
+
16
+ def commit(transaction)
17
+ transaction.end_transaction
18
+ @transaction = transaction = nil
19
+ #Thread.list.map &:join
20
+ end
21
+
22
+ #time to sleep waiting for thread
23
+ def abit
24
+ VCR.turned_on? ? 0 : 1.5
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,42 @@
1
+ shared_examples "polling loop" do |payload_method|
2
+
3
+ let(:app) { mock "FluidFeatures::App" }
4
+
5
+ before(:each) do
6
+ app.stub!(:is_a?).and_return(false)
7
+ app.stub!(:is_a?).with(FluidFeatures::App).and_return(true)
8
+ end
9
+
10
+ context "initialization" do
11
+
12
+ before(:each) do
13
+ described_class.any_instance.stub(:configure)
14
+ described_class.any_instance.stub(:run_loop)
15
+ end
16
+
17
+ it "should log error if no valid app passed" do
18
+ expect { described_class.new(nil) }.to raise_error(/app invalid/)
19
+ end
20
+
21
+ it "should configure instance variables" do
22
+ described_class.any_instance.should_receive(:configure).with(app)
23
+ described_class.new(app)
24
+ end
25
+
26
+ it "should call #run_loop" do
27
+ described_class.any_instance.should_receive(:run_loop)
28
+ described_class.new(app)
29
+ end
30
+ end
31
+
32
+ it "#run_loop should call payload method" do
33
+ described_class.any_instance.should_receive(payload_method)
34
+ described_class.new(app)
35
+ sleep 0.15
36
+ end
37
+
38
+ it "should initialize @app" do
39
+ described_class.new(app).app.should == app
40
+ end
41
+
42
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluidfeatures
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.4
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-11-13 00:00:00.000000000 Z
12
+ date: 2012-12-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: persistent_http
@@ -43,6 +43,102 @@ dependencies:
43
43
  - - ~>
44
44
  - !ruby/object:Gem::Version
45
45
  version: 2.3.5
46
+ - !ruby/object:Gem::Dependency
47
+ name: rake
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 10.0.2
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 10.0.2
62
+ - !ruby/object:Gem::Dependency
63
+ name: rspec
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: 2.12.0
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 2.12.0
78
+ - !ruby/object:Gem::Dependency
79
+ name: guard-rspec
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ~>
84
+ - !ruby/object:Gem::Version
85
+ version: 2.2.1
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: 2.2.1
94
+ - !ruby/object:Gem::Dependency
95
+ name: rb-inotify
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ~>
100
+ - !ruby/object:Gem::Version
101
+ version: 0.8.8
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: 0.8.8
110
+ - !ruby/object:Gem::Dependency
111
+ name: vcr
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: 2.3.0
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: 2.3.0
126
+ - !ruby/object:Gem::Dependency
127
+ name: fakeweb
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ~>
132
+ - !ruby/object:Gem::Version
133
+ version: 1.3.0
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ~>
140
+ - !ruby/object:Gem::Version
141
+ version: 1.3.0
46
142
  description: Ruby client for the FluidFeatures service.
47
143
  email:
48
144
  - phil@fluidfeatures.com
@@ -51,9 +147,13 @@ extensions: []
51
147
  extra_rdoc_files: []
52
148
  files:
53
149
  - .gitignore
150
+ - .rvmrc
151
+ - .travis.yml
54
152
  - Gemfile
153
+ - Guardfile
55
154
  - LICENSE
56
155
  - README.md
156
+ - Rakefile
57
157
  - fluidfeatures.gemspec
58
158
  - lib/fluidfeatures.rb
59
159
  - lib/fluidfeatures/app.rb
@@ -66,6 +166,18 @@ files:
66
166
  - lib/fluidfeatures/const.rb
67
167
  - lib/fluidfeatures/version.rb
68
168
  - lib/pre_ruby192/uri.rb
169
+ - spec/app/feature_spec.rb
170
+ - spec/app/reporter_spec.rb
171
+ - spec/app/state_spec.rb
172
+ - spec/app/transaction_spec.rb
173
+ - spec/app/user_spec.rb
174
+ - spec/app_spec.rb
175
+ - spec/cassettes/feature.yml
176
+ - spec/cassettes/goal.yml
177
+ - spec/fluidfeatures_spec.rb
178
+ - spec/spec_helper.rb
179
+ - spec/support/api_helpers.rb
180
+ - spec/support/polling_loop_shared_examples.rb
69
181
  homepage: https://github.com/FluidFeatures/fluidfeatures-ruby
70
182
  licenses: []
71
183
  post_install_message: