daddy 0.2.7 → 0.2.8

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3fef71f23757a0256ea073f08a95c2593e4b8014
4
- data.tar.gz: 2032e0975c7a772420f926022582a57e842e303f
3
+ metadata.gz: 2d4ad32eaae407fd291eedbd20a88e76feb13321
4
+ data.tar.gz: 6deb92df011c598a5dedda1cbbb48fe303a1950d
5
5
  SHA512:
6
- metadata.gz: d7ec3101c579edd6247808c3ef0975a58390e153cf2e90d006eb88df07556451256c39e5429487eea15fd83fc8e564bd94361a968207e6ab8a010ca62fbb9f19
7
- data.tar.gz: f0403f11a52727e2af426a86c61a5a095a7d0e92eac26289b50e308459450e8a16f27f64fba79c0262457e4b61678662f8ad92cef4fbe1cc40f95ba5ff6c09b4
6
+ metadata.gz: c2385c08140b96b0ab160ae54e981aada47c09b755afb7eefc7a25c974dbeaaebd417c2fff7170b7490c861faf585530e7d85723ed1691108f069cafc34e6af2
7
+ data.tar.gz: 85c1960c8f461472e7021decadff0f9c670d470989897fa40c595923b43da5778599025f068a08fc37b135f12238366f7b601a0a12b4e14b7d94e9fbca22cfd7
data/lib/daddy.rb CHANGED
@@ -9,16 +9,16 @@ else
9
9
  end
10
10
  end
11
11
 
12
+ require 'daddy/utils/config'
12
13
  require 'daddy/utils/string_utils'
13
14
  require 'prefecture'
14
15
  require 'sql_builder'
15
16
  require 'tax'
16
17
 
17
18
  module Daddy
18
- require 'daddy/config'
19
19
 
20
20
  def self.config
21
- @_config ||= Daddy::Config.new(config_file = File.join('config', 'daddy.yml'))
21
+ @_config ||= Daddy::Utils::Config.new(File.join('config', 'daddy.yml'))
22
22
  end
23
23
 
24
24
  end
@@ -3,11 +3,12 @@
3
3
  module Daddy
4
4
  module Cucumber
5
5
  module Capture
6
- REPORT_DIR = 'features/reports'
6
+ REPORT_DIR = File.join('features', 'reports')
7
7
  IMAGE_DIR = 'images'
8
8
  FileUtils.mkdir_p("#{REPORT_DIR}/#{IMAGE_DIR}")
9
9
 
10
10
  @@_screen_count = 0
11
+ @@_images = []
11
12
 
12
13
  def capture(options = {})
13
14
  pause
@@ -20,7 +21,11 @@ module Daddy
20
21
  image = "#{IMAGE_DIR}/#{@@_screen_count}.png"
21
22
  page.driver.save_screenshot("#{REPORT_DIR}/#{image}", :full => true)
22
23
 
23
- puts "<img class=\"screenshot\" src=\"#{image}\" alt=\"#{url}\"/>"
24
+ if options[:flash]
25
+ puts "<img class=\"screenshot\" src=\"#{image}\" alt=\"#{url}\"/>"
26
+ else
27
+ @@_images << "<img class=\"screenshot\" src=\"#{image}\" alt=\"#{url}\"/>"
28
+ end
24
29
  end
25
30
 
26
31
  def resize_window(width, height)
@@ -34,8 +39,17 @@ module Daddy
34
39
  end
35
40
  end
36
41
 
42
+ def flash_image_tags
43
+ puts @@_images.join("\n")
44
+ @@_images.clear
45
+ end
46
+
37
47
  end
38
48
  end
39
49
  end
40
50
 
41
51
  World(Daddy::Cucumber::Capture)
52
+
53
+ AfterStep do |step|
54
+ flash_image_tags
55
+ end
@@ -174,11 +174,10 @@ del.differ {
174
174
  }
175
175
 
176
176
  .screenshot {
177
- display: block;
178
177
  border: solid 1px #999999;
179
178
  border-radius: 5px 5px;
180
179
  margin: 5px 0;
181
- padding: 1%;
180
+ padding: 5px;
182
181
  background: #ffffff;
183
182
  width: 32%;
184
183
  height: 32%;
@@ -125,7 +125,7 @@ module Daddy
125
125
  @builder.span(:class => 'val') do
126
126
  @builder << title
127
127
 
128
- if Daddy.config.use_feature_name?
128
+ if Daddy.config.cucumber.use_feature_name?
129
129
  subtitle = lines.first.to_s.strip
130
130
  unless subtitle.blank?
131
131
  @builder.span('(' + subtitle + ')', :class => 'feature_subtitle')
@@ -0,0 +1,49 @@
1
+ # coding: UTF-8
2
+
3
+ module Daddy
4
+ module Utils
5
+
6
+ class Config < Hash
7
+
8
+ def initialize(yaml_path_or_hash = nil)
9
+ if yaml_path_or_hash.is_a?(Hash)
10
+ @hash = hash
11
+ else
12
+ if yaml_path_or_hash and File.exist?(yaml_path_or_hash)
13
+ @hash = YAML.load_file(yaml_path_or_hash)
14
+ else
15
+ @hash = {}
16
+ end
17
+ end
18
+ end
19
+
20
+ def [](key)
21
+ ret = false
22
+
23
+ if key.to_s.end_with?('?')
24
+ ret = @hash[key.to_s[0..-2]] ? true : false
25
+ else
26
+ ret = @hash[key.to_s]
27
+
28
+ if ret.nil?
29
+ ret = self.class.new
30
+ elsif ret.is_a?(Hash)
31
+ ret = self.class.new(ret)
32
+ end
33
+ end
34
+
35
+ ret
36
+ end
37
+
38
+ def []=(key, value)
39
+ @hash[key.to_s] = value
40
+ end
41
+
42
+ def method_missing(name, *args)
43
+ self[name]
44
+ end
45
+
46
+ end
47
+
48
+ end
49
+ end
@@ -8,7 +8,7 @@ namespace :dad do
8
8
 
9
9
  desc "Fluentdをインストールします。"
10
10
  task :install do
11
- if Daddy.config.fluentd_nginx?
11
+ if Daddy.config.fluentd.nginx?
12
12
  nginx = File.join(Rails.root, 'tmp', 'fluentd', "#{app_name}_nginx.conf")
13
13
  FileUtils.mkdir_p(File.dirname(nginx))
14
14
  File.write(nginx, ERB.new(File.read(File.join(File.dirname(__FILE__), 'fluentd_nginx.conf.erb'))).result)
@@ -41,7 +41,10 @@ fi
41
41
  EOF
42
42
  tmpfile = File.join(Rails.root, 'tmp', 'dad-fluentd-install-' + Daddy::Utils::StringUtils.current_time + '.sh')
43
43
  File.write(tmpfile, ERB.new(script).result)
44
- fail unless system("bash #{tmpfile}")
44
+
45
+ unless ENV['DRY_RUN']
46
+ fail unless system("bash #{tmpfile}")
47
+ end
45
48
  end
46
49
  end
47
50
  end
metadata CHANGED
@@ -1,299 +1,299 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: daddy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.7
4
+ version: 0.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - ichy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-16 00:00:00.000000000 Z
11
+ date: 2014-05-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capybara
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '2.2'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: cucumber
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.3'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: cucumber-rails
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '1.4'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.4'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: ci_reporter
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '1.9'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.9'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: database_cleaner
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: '1.2'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '1.2'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: differ
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ~>
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: execjs
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ~>
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
103
  version: '2.0'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ~>
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '2.0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: faraday
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ~>
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0.9'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ~>
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0.9'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: holiday_jp
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ~>
129
+ - - "~>"
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ~>
136
+ - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: poltergeist
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - ~>
143
+ - - "~>"
144
144
  - !ruby/object:Gem::Version
145
145
  version: '1.5'
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - ~>
150
+ - - "~>"
151
151
  - !ruby/object:Gem::Version
152
152
  version: '1.5'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: rails
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - ~>
157
+ - - "~>"
158
158
  - !ruby/object:Gem::Version
159
159
  version: '3.2'
160
- - - '>='
160
+ - - ">="
161
161
  - !ruby/object:Gem::Version
162
162
  version: 3.2.0
163
163
  type: :runtime
164
164
  prerelease: false
165
165
  version_requirements: !ruby/object:Gem::Requirement
166
166
  requirements:
167
- - - ~>
167
+ - - "~>"
168
168
  - !ruby/object:Gem::Version
169
169
  version: '3.2'
170
- - - '>='
170
+ - - ">="
171
171
  - !ruby/object:Gem::Version
172
172
  version: 3.2.0
173
173
  - !ruby/object:Gem::Dependency
174
174
  name: rails-i18n
175
175
  requirement: !ruby/object:Gem::Requirement
176
176
  requirements:
177
- - - ~>
177
+ - - "~>"
178
178
  - !ruby/object:Gem::Version
179
179
  version: '3.0'
180
180
  type: :runtime
181
181
  prerelease: false
182
182
  version_requirements: !ruby/object:Gem::Requirement
183
183
  requirements:
184
- - - ~>
184
+ - - "~>"
185
185
  - !ruby/object:Gem::Version
186
186
  version: '3.0'
187
187
  - !ruby/object:Gem::Dependency
188
188
  name: resque
189
189
  requirement: !ruby/object:Gem::Requirement
190
190
  requirements:
191
- - - ~>
191
+ - - "~>"
192
192
  - !ruby/object:Gem::Version
193
193
  version: '1.25'
194
194
  type: :runtime
195
195
  prerelease: false
196
196
  version_requirements: !ruby/object:Gem::Requirement
197
197
  requirements:
198
- - - ~>
198
+ - - "~>"
199
199
  - !ruby/object:Gem::Version
200
200
  version: '1.25'
201
201
  - !ruby/object:Gem::Dependency
202
202
  name: resque-scheduler
203
203
  requirement: !ruby/object:Gem::Requirement
204
204
  requirements:
205
- - - ~>
205
+ - - "~>"
206
206
  - !ruby/object:Gem::Version
207
207
  version: '2.5'
208
208
  type: :runtime
209
209
  prerelease: false
210
210
  version_requirements: !ruby/object:Gem::Requirement
211
211
  requirements:
212
- - - ~>
212
+ - - "~>"
213
213
  - !ruby/object:Gem::Version
214
214
  version: '2.5'
215
215
  - !ruby/object:Gem::Dependency
216
216
  name: rugged
217
217
  requirement: !ruby/object:Gem::Requirement
218
218
  requirements:
219
- - - ~>
219
+ - - "~>"
220
220
  - !ruby/object:Gem::Version
221
221
  version: '0.19'
222
222
  type: :runtime
223
223
  prerelease: false
224
224
  version_requirements: !ruby/object:Gem::Requirement
225
225
  requirements:
226
- - - ~>
226
+ - - "~>"
227
227
  - !ruby/object:Gem::Version
228
228
  version: '0.19'
229
229
  - !ruby/object:Gem::Dependency
230
230
  name: selenium-webdriver
231
231
  requirement: !ruby/object:Gem::Requirement
232
232
  requirements:
233
- - - ~>
233
+ - - "~>"
234
234
  - !ruby/object:Gem::Version
235
235
  version: '2.39'
236
236
  type: :runtime
237
237
  prerelease: false
238
238
  version_requirements: !ruby/object:Gem::Requirement
239
239
  requirements:
240
- - - ~>
240
+ - - "~>"
241
241
  - !ruby/object:Gem::Version
242
242
  version: '2.39'
243
243
  - !ruby/object:Gem::Dependency
244
244
  name: simplecov
245
245
  requirement: !ruby/object:Gem::Requirement
246
246
  requirements:
247
- - - ~>
247
+ - - "~>"
248
248
  - !ruby/object:Gem::Version
249
249
  version: '0'
250
250
  type: :runtime
251
251
  prerelease: false
252
252
  version_requirements: !ruby/object:Gem::Requirement
253
253
  requirements:
254
- - - ~>
254
+ - - "~>"
255
255
  - !ruby/object:Gem::Version
256
256
  version: '0'
257
257
  - !ruby/object:Gem::Dependency
258
258
  name: simplecov-rcov
259
259
  requirement: !ruby/object:Gem::Requirement
260
260
  requirements:
261
- - - ~>
261
+ - - "~>"
262
262
  - !ruby/object:Gem::Version
263
263
  version: '0'
264
264
  type: :runtime
265
265
  prerelease: false
266
266
  version_requirements: !ruby/object:Gem::Requirement
267
267
  requirements:
268
- - - ~>
268
+ - - "~>"
269
269
  - !ruby/object:Gem::Version
270
270
  version: '0'
271
271
  - !ruby/object:Gem::Dependency
272
272
  name: term-ansicolor
273
273
  requirement: !ruby/object:Gem::Requirement
274
274
  requirements:
275
- - - ~>
275
+ - - "~>"
276
276
  - !ruby/object:Gem::Version
277
277
  version: '1.2'
278
278
  type: :runtime
279
279
  prerelease: false
280
280
  version_requirements: !ruby/object:Gem::Requirement
281
281
  requirements:
282
- - - ~>
282
+ - - "~>"
283
283
  - !ruby/object:Gem::Version
284
284
  version: '1.2'
285
285
  - !ruby/object:Gem::Dependency
286
286
  name: rails-csv-fixtures
287
287
  requirement: !ruby/object:Gem::Requirement
288
288
  requirements:
289
- - - ~>
289
+ - - "~>"
290
290
  - !ruby/object:Gem::Version
291
291
  version: '0'
292
292
  type: :development
293
293
  prerelease: false
294
294
  version_requirements: !ruby/object:Gem::Requirement
295
295
  requirements:
296
- - - ~>
296
+ - - "~>"
297
297
  - !ruby/object:Gem::Version
298
298
  version: '0'
299
299
  description: Daddy helps me build web applications since daddy knows some good practices.
@@ -305,7 +305,6 @@ extra_rdoc_files: []
305
305
  files:
306
306
  - bin/dad
307
307
  - lib/daddy.rb
308
- - lib/daddy/config.rb
309
308
  - lib/daddy/cucumber.rb
310
309
  - lib/daddy/cucumber/assert.rb
311
310
  - lib/daddy/cucumber/capture.rb
@@ -338,6 +337,7 @@ files:
338
337
  - lib/daddy/rails/engine.rb
339
338
  - lib/daddy/rails/quiet_assets.rb
340
339
  - lib/daddy/rails/railtie.rb
340
+ - lib/daddy/utils/config.rb
341
341
  - lib/daddy/utils/sql_utils.rb
342
342
  - lib/daddy/utils/string_utils.rb
343
343
  - lib/prefecture.rb
@@ -403,12 +403,12 @@ require_paths:
403
403
  - lib
404
404
  required_ruby_version: !ruby/object:Gem::Requirement
405
405
  requirements:
406
- - - '>='
406
+ - - ">="
407
407
  - !ruby/object:Gem::Version
408
408
  version: 1.9.3
409
409
  required_rubygems_version: !ruby/object:Gem::Requirement
410
410
  requirements:
411
- - - '>='
411
+ - - ">="
412
412
  - !ruby/object:Gem::Version
413
413
  version: '0'
414
414
  requirements: []
data/lib/daddy/config.rb DELETED
@@ -1,22 +0,0 @@
1
- # coding: UTF-8
2
-
3
- class Daddy::Config
4
-
5
- def initialize(config_file)
6
- if @config.nil?
7
- if File.exist?(config_file)
8
- @config = YAML.load_file(config_file)
9
- else
10
- @config = {}
11
- end
12
- end
13
- end
14
-
15
- def use_feature_name?
16
- @config['cucumber'] && !!@config['cucumber']['use_feature_name']
17
- end
18
-
19
- def fluentd_nginx?
20
- @config['fluentd'] && !!@config['fluentd']['nginx']
21
- end
22
- end