rdoba 0.9.1 → 0.9.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.
Files changed (51) hide show
  1. checksums.yaml +7 -7
  2. data/.gitignore +4 -0
  3. data/.travis.yml +28 -0
  4. data/CHANGES.md +6 -0
  5. data/Gemfile +5 -0
  6. data/README.md +87 -108
  7. data/Rakefile +62 -54
  8. data/TODO +6 -0
  9. data/features/mixin.feature +85 -0
  10. data/features/step_definitions/mixin_steps.rb +305 -0
  11. data/features/support/env.rb +35 -145
  12. data/features/support/mixin_support.rb +17 -0
  13. data/html/.keep +0 -0
  14. data/lib/rdoba/_version_.rb +3 -1
  15. data/lib/rdoba/a.rb +44 -42
  16. data/lib/rdoba/bcd.rb +43 -26
  17. data/lib/rdoba/blank.rb +14 -0
  18. data/lib/rdoba/combinations.rb +17 -15
  19. data/lib/rdoba/common.rb +53 -68
  20. data/lib/rdoba/debug.rb +9 -3
  21. data/lib/rdoba/deploy.rb +55 -50
  22. data/lib/rdoba/dup.rb +31 -31
  23. data/lib/rdoba/fe.rb +6 -5
  24. data/lib/rdoba/gem.rb +33 -29
  25. data/lib/rdoba/hashorder.rb +24 -24
  26. data/lib/rdoba/io.rb +81 -74
  27. data/lib/rdoba/merge.rb +21 -0
  28. data/lib/rdoba/mixin/time.rb +17 -0
  29. data/lib/rdoba/mixin/try.rb +11 -0
  30. data/lib/rdoba/mixin/try_1_9_0.rb +9 -0
  31. data/lib/rdoba/mixin/wait_if.rb +27 -0
  32. data/lib/rdoba/mixin.rb +373 -52
  33. data/lib/rdoba/numeric.rb +19 -17
  34. data/lib/rdoba/os.rb +127 -0
  35. data/lib/rdoba/re.rb +4 -4
  36. data/lib/rdoba/require.rb +24 -19
  37. data/lib/rdoba/roman.rb +32 -22
  38. data/lib/rdoba/strings.rb +6 -144
  39. data/lib/rdoba/yaml.rb +20 -18
  40. data/lib/rdoba.rb +50 -47
  41. data/rdoba.gemspec +33 -26
  42. data/tddium.yml +11 -0
  43. metadata +184 -77
  44. data/features/bcd.feature +0 -29
  45. data/features/log.feature +0 -206
  46. data/features/step_definitions/bcd_steps.rb +0 -69
  47. data/features/step_definitions/log_steps.rb +0 -164
  48. data/lib/rdoba/log.rb +0 -248
  49. data/test/helper.rb +0 -18
  50. data/test/rdoba_test.rb.stub +0 -59
  51. data/test/test_rdoba.rb +0 -7
data/lib/rdoba/require.rb CHANGED
@@ -1,56 +1,62 @@
1
1
  #!/usr/bin/ruby -KU
2
- #coding:utf-8
2
+ # frozen_string_literal: true
3
3
 
4
4
  require 'rdoba/common'
5
5
  require 'rdoba/debug'
6
6
 
7
7
  module Kernel
8
- private
8
+ private
9
+
9
10
  def require_dir(dir, name)
10
11
  dbp11 "[require_dir] <<< dir = #{dir}, name = #{name}"
11
12
  begin
12
13
  rdir = File.join(dir, name)
13
14
  return false unless File.directory?(rdir)
15
+
14
16
  rdir = File.join(dir, name)
15
17
  $: << rdir unless $:.include?(rdir)
16
18
  dbp14 "[require_dir]> Found dir #{rdir}"
17
19
  Dir.foreach(rdir) do |file|
18
20
  next unless file =~ /(.*)\.(rb|so)$/
19
- dbp14 "[require_dir]> Loading ... #{$1}"
20
- require $1
21
+
22
+ dbp14 "[require_dir]> Loading ... #{Regexp.last_match(1)}"
23
+ require Regexp.last_match(1)
21
24
  end
22
25
  true
23
- rescue
26
+ rescue StandardError
24
27
  false
25
28
  end
26
29
  end
27
30
 
28
31
  def sub_require(name)
29
32
  dbp11 "[sub_require] <<< name = #{name} "
30
- $:.each do |dir|
31
- begin
32
- Dir.foreach(dir) do |file|
33
- next unless file =~ /^#{name}\.(rb|so)$/
34
- dbp14 "[sub_require]> Require Dir #{dir}/#{name} for #{file}"
35
- r1 = require_dir(dir, name + '.modules')
36
- r2 = require_dir(dir, name)
37
- dbp14 "[sub_require]> Require Dir #{(r1 || r2) && 'passed' || 'failed'} ... #{name}"
33
+ unless $".include?(name)
34
+ $:.each do |dir|
35
+ begin
36
+ Dir.foreach(dir) do |file|
37
+ next unless /^#{name}\.(rb|so)$/.match?(file)
38
+
39
+ dbp14 "[sub_require]> Require Dir #{dir}/#{name} for #{file}"
40
+ r1 = require_dir(dir, name + '.modules')
41
+ r2 = require_dir(dir, name)
42
+ dbp14 "[sub_require]> Require Dir #{(r1 || r2) && 'passed' || 'failed'} ... #{name}"
43
+ end
44
+ rescue StandardError
38
45
  end
39
- rescue
40
46
  end
41
- end unless $".include?(name)
47
+ end
42
48
  true
43
49
  end
44
50
 
45
- public
51
+ public
46
52
 
47
- alias :__require__ :require
53
+ alias __require__ require
48
54
  def require(name, *opts)
49
55
  v = parse_opts(opts)
50
56
  dbp11 "[require] <<< name = #{name}"
51
57
  begin
52
58
  res = __require__ name
53
- rescue => bang
59
+ rescue StandardError => e
54
60
  puts "Lib internal error: #{$!.class} -> #{$!}\n\t#{$@.join("\n\t")}"
55
61
  exit
56
62
  end
@@ -59,4 +65,3 @@ public
59
65
  res
60
66
  end
61
67
  end
62
-
data/lib/rdoba/roman.rb CHANGED
@@ -1,45 +1,55 @@
1
1
  #!/usr/bin/ruby -KU
2
+ # frozen_string_literal: true
2
3
 
3
4
  class Numeric
4
- Roman = { 1 => 'I', 4 => 'IV', 5 => 'V', 9 => 'IX', 10 => 'X', 40 => 'XL', 50 => 'L',
5
- 90 => 'XC', 100 => 'C', 400 => 'CD', 500 => 'D', 900 => 'CM', 1000 => 'M' }
6
- Romani = Roman.keys.sort
5
+ Roman = {
6
+ 1 => 'I',
7
+ 4 => 'IV',
8
+ 5 => 'V',
9
+ 9 => 'IX',
10
+ 10 => 'X',
11
+ 40 => 'XL',
12
+ 50 => 'L',
13
+ 90 => 'XC',
14
+ 100 => 'C',
15
+ 400 => 'CD',
16
+ 500 => 'D',
17
+ 900 => 'CM',
18
+ 1000 => 'M'
19
+ }
20
+ RomanNumbers = Roman.keys.sort
21
+ RomanToInteger = Roman.invert
22
+ RomanDigits = RomanToInteger.keys.sort { |x, y| x.size < y.size ? 1 : x.size > y.size ? -1 : x <=> y }
7
23
 
8
24
  def to_rom
9
25
  res = ''
10
26
  num = self
11
- i = Romani.size - 1
27
+ i = RomanNumbers.size - 1
12
28
 
13
29
  while num > 0
14
- if num >= Romani[i]
15
- res << Roman[Romani[i]]
16
- num -= Romani[i]
30
+ if num >= RomanNumbers[i]
31
+ res << Roman[RomanNumbers[i]]
32
+ num -= RomanNumbers[i]
17
33
  else
18
34
  i -= 1
19
35
  end
20
36
  end
21
37
  res
22
38
  end
23
-
24
39
  end
25
40
 
26
41
  class String
42
+ RomanRe = /(#{Numeric::RomanDigits.join('|')})/
43
+
27
44
  def rom
28
- h = Numeric::Roman.reverse
29
- keys = h.keys.sort do |x,y| x.size < y.size ? 1 : x.size > y.size ? -1 : x <=> y end
30
- str = self.upcase
31
- res = 0
32
- while str and not str.empty?
33
- raise "Invalid roman number" if (keys.each do |key|
34
- if str =~ /^#{key}(.*)/
35
- str = $1
36
- res += h[key]
37
- break nil
45
+ numbers = upcase.scan(RomanRe).flatten.map { |x| Numeric::RomanToInteger[x] }
46
+ numbers.sort do |x, y|
47
+ if x < y
48
+ raise 'Invalid roman number'
38
49
  end
39
- end)
50
+
51
+ 0
40
52
  end
41
- res
53
+ numbers.sum
42
54
  end
43
55
  end
44
-
45
-
data/lib/rdoba/strings.rb CHANGED
@@ -1,149 +1,11 @@
1
1
  #!/usr/bin/ruby -KU
2
- #coding:utf-8
2
+ # frozen_string_literal: true
3
3
 
4
- class String
5
-
6
- def self.upcase(char)
7
- chr = char.class == String ? char.ord : char.to_i
8
- if chr >= 0x430 and chr < 0x450
9
- chr -= 0x20
10
- elsif chr >= 0x410 and chr < 0x430
11
- elsif chr >= 0x400 and chr < 0x410 or
12
- chr >= 0x450 and chr < 0x482 or
13
- chr >= 0x48A and chr < 0x524 or
14
- chr >= 0xA642 and chr < 0xA668 or
15
- chr >= 0xA680 and chr < 0xA698
16
- chr -= 1 if (chr % 1) == 1
17
- else
18
- return chr.chr.__upcase__
19
- end
20
- chr.chr
21
- end
22
-
23
- def self.downcase(char)
24
- chr = (char.class == String) ? char.ord : char.to_i
25
- if chr >= 0x410 and chr < 0x430
26
- chr += 0x20
27
- elsif chr >= 0x430 and chr < 0x450
28
- elsif chr >= 0x400 and chr < 0x410 or
29
- chr >= 0x450 and chr < 0x482 or
30
- chr >= 0x48A and chr < 0x524 or
31
- chr >= 0xA642 and chr < 0xA668 or
32
- chr >= 0xA680 and chr < 0xA698
33
- chr += 1 if (chr % 1) == 0
34
- else
35
- return chr.chr.__downcase__
36
- end
37
- chr.chr
38
- end
39
-
40
- if RUBY_VERSION < '1.9'
41
-
42
- alias :setbyte :[]=
43
-
44
- def encoding
45
- 'UTF-8'
46
- end
47
-
48
- def force_encoding(*args)
49
- self
50
- end
51
-
52
- def ord
53
- a = nil
54
- self.each_byte do |b|
55
- c = b & 0xC0
56
- case c
57
- when 0xc0
58
- a = (b & 0x3F)
59
- when 0x80
60
- return (a << 6) + (b & 0x3F)
61
- else
62
- return b
63
- end
64
- end
65
- end
66
-
67
- end
4
+ warn "Warning: the module 'string' has kept only for backward " \
5
+ "compatibility\nPlease use 'rdoba :mixin' form instead"
68
6
 
69
- FirstChar = 0
70
- alias :__upcase__ :upcase
71
- def upcase(option = nil)
72
- if option == FirstChar
73
- r = self.dup
74
- r[0] = String.upcase(self.ord)
75
- r
76
- elsif self.match(/[Ѐ-ҁҊ-ԣꙀ-ꙧꚀꚗ]/u)
77
- self.unpack('U*').map do |chr| String.upcase(chr) end.join
78
- else; __upcase__ end
79
- end
80
-
81
- alias :__downcase__ :downcase
82
- def downcase(option = nil)
83
- if option == FirstChar
84
- r = self.dup
85
- r[0] = String.downcase(self.ord)
86
- r
87
- elsif self.match(/[Ѐ-ҁҊ-ԣꙀ-ꙧꚀꚗ]/u)
88
- self.unpack('U*').map do |chr| String.downcase(chr) end.join
89
- else; __downcase__ end
90
- end
91
-
92
- alias :to_p :to_s
93
-
94
- ByteByByte = 0
95
- alias :__reverse__ :reverse
96
- def reverse(step = 1)
97
- case step
98
- when ByteByByte
99
- arr = []
100
- self.each_byte do |byte| arr << byte.chr end
101
- arr.reverse.join
102
- when 1
103
- __reverse__
104
- else
105
- res = ''
106
- offset = (self.size + 1) / step * step - step
107
- (0..offset).step(step) do |shift|
108
- res += self[offset - shift..offset - shift + 1]
109
- end
110
- res
111
- end
112
- end
113
-
114
- def compare_to(value, opts = {} )
115
- if opts == :ignore_diacritics or
116
- (opts.class == Hash and opts.key? :ignore_diacritics)
117
- # TODO verify composite range
118
- def crop_diacritics(x)
119
- (x < 0x300 or
120
- x > 0x36f and x < 0x483 or
121
- x > 0x487 and x < 0xa67c or
122
- x > 0xa67d) && x || nil
123
- end
124
-
125
- (self.unpack('U*').map do |x| crop_diacritics(x)
126
- end.compact) <=> (value.unpack('U*').map do |x| crop_diacritics(x)
127
- end.compact)
128
- else
129
- self <=> value
130
- end
131
- end
132
- end
133
-
134
- class Fixnum
135
- alias :__chr__ :chr
136
- def chr
137
- if self >= 256
138
- num = self; s = "\0"; byte = 0x80; a = []
139
- while num >= 0x40
140
- s.setbyte(0, byte + (num & 0x3F))
141
- a << s.dup; num >>= 6; byte = 0x40
142
- end
143
- s.setbyte(0, 0xC0 + (num & 0x3F))
144
- a << s
145
- a.reverse.join.force_encoding('UTF-8')
146
- else; __chr__ end
147
- end
7
+ class String
8
+ alias to_p to_s
148
9
  end
149
10
 
11
+ rdoba mixin: %i[case reverse compare]
data/lib/rdoba/yaml.rb CHANGED
@@ -1,48 +1,50 @@
1
1
  #!/usr/bin/ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require 'rdoba/common'
4
5
 
5
6
  class Object
6
- def to_yml( o = {} )
7
+ def to_yml(o = {})
7
8
  level = o[:level] || 0
8
9
  res = ''
9
10
  res += '---' if level == 0
10
- res += case self.class.to_sym
11
+ res +=
12
+ case self.class.to_sym
11
13
  when :Hash
12
14
  rs = ''
13
- self.keys.sort do |x,y|
14
- (ix, iy) = o[:order] ? [ o[:order].index(x), o[:order].index(y) ] : [ nil, nil ]
15
+ keys.sort do |x, y|
16
+ ix, iy = o[:order] ? [o[:order].index(x), o[:order].index(y)] : [nil, nil]
15
17
  (ix and iy) ? ix <=> iy : (ix ? -1 : (iy ? 1 : x <=> y))
16
18
  end.each do |key|
17
19
  value = self[key]
18
- rs += "\n" + ' ' * level * 2 + key.to_yml( { :level => level + 1, :order => o[:order] } )
19
- rs += ': ' + value.to_yml( { :level => level + 1, :order => o[:order] } )
20
+ rs += "\n" + ' ' * level * 2 + key.to_yml({ level: level + 1, order: o[:order] })
21
+ rs += ': ' + value.to_yml({ level: level + 1, order: o[:order] })
20
22
  end
21
- rs.empty? and "{}" or rs
23
+ rs.empty? and '{}' or rs
22
24
  when :Array
23
25
  rs = ''
24
- self.each do |value|
25
- rs += "\n" + ' ' * level * 2 + '- ' + value.to_yml( { :level => level + 1, :order => o[:order] } )
26
+ each do |value|
27
+ rs += "\n" + ' ' * level * 2 + '- ' + value.to_yml({ level: level + 1, order: o[:order] })
26
28
  end
27
- rs.empty? and "[]" or rs
29
+ rs.empty? and '[]' or rs
28
30
  when :Fixnum
29
- self.to_s
31
+ to_s
30
32
  when :String
31
33
  if self =~ /^["'\-:!#={}\[\]~]/ or self =~ /\s+$/ or self =~ /:\s/
32
- if self.count("'") < self.count('"')
33
- "'#{self.gsub("'","\\'")}'"
34
- else
35
- "\"#{self.gsub('"','\"')}\""
36
- end
34
+ if count("'") < count('"')
35
+ "'#{gsub("'", "\\'")}'"
36
+ else
37
+ "\"#{gsub('"', '\"')}\""
38
+ end
37
39
  else
38
40
  self
39
41
  end
40
42
  when :NilClass
41
43
  ''
42
44
  else
43
- $stderr.puts "Unsupported class #{self.class} to export to yml"; ''
45
+ warn "Unsupported class #{self.class} to export to yml"
46
+ ''
44
47
  end
45
48
  res
46
49
  end
47
50
  end
48
-
data/lib/rdoba.rb CHANGED
@@ -1,57 +1,60 @@
1
- #encoding: utf-8
1
+ # frozen_string_literal: true
2
2
 
3
3
  module Kernel
4
- Modules = [ :bcd ]
4
+ Modules = %i[bcd mixin log debug]
5
5
 
6
- def rdoba *options
6
+ def rdoba(*options)
7
7
  options.each do |option|
8
- key, value = ( option.is_a?( Hash ) &&
9
- [ ( k = option.keys.shift ).to_s.to_sym, option[ k ] ] ||
10
- [ option.to_s.to_sym ] )
11
- case key
12
- when :mixin
13
- require "rdoba/mixin"
14
- Rdoba.mixin value
15
- when :log, :debug
8
+ (option.is_a?(Hash) && option || { option.to_s.to_sym => {} }).each_pair do |key, value|
9
+ next unless Modules.include? key
10
+
16
11
  require "rdoba/#{key}"
17
- Rdoba.log( { :in => self }.merge( value || {} ) ) # TODO move log method into module
18
- # TODO and resolve some troubles with eval in main
19
- else
20
- Kernel.puts STDERR, "Unknown rdoba module named as '#{key.to_s}'"
21
- nil; end ||
22
- if Modules.include? key
23
- require "rdoba/#{key}"; end; end; end; end
12
+ next unless Rdoba.methods.include? key
13
+
14
+ unless value.is_a? Hash
15
+ value = { value: value }
16
+ end
17
+ value.replace({ self: self }.merge(value))
18
+ Rdoba.send key, value
19
+ end
20
+ end
21
+ end
22
+ end
24
23
 
25
24
  require 'rbconfig'
26
25
 
27
26
  module Rdoba
28
- def self.gemroot name = nil, path = ''
29
- if !gem( name )
30
- raise "Invalid gem named as #{name.inspect}" ; end
31
- g = Gem::Specification.find_by_name( name )
32
- File.join g.full_gem_path, path
33
- end
34
-
35
- def self.os
36
- @@os ||= (
37
- host_os = RbConfig::CONFIG['host_os']
38
- case host_os
39
- when /(mswin|msys|mingw|cygwin|bccwin|wince|emc)/
40
- plat = $1 == 'mswin' && 'native' || $1
41
- out = `ver`.encode( 'US-ASCII',
42
- :invalid => :replace, :undef => :replace )
43
- if out =~ /\[.* (\d+)\.([\d\.]+)\]/
44
- "windows-#{plat}-#{$1 == '5' && 'xp' || 'vista'}-#{$1}.#{$2}"
45
- else
46
- "windows-#{plat}" ; end
47
- when /darwin|mac os/
48
- 'macosx'
49
- when /linux/
50
- 'linux'
51
- when /(solaris|bsd)/
52
- "unix-#{$1}"
53
- else
54
- raise "unknown os: #{host_os.inspect}"
55
- end)
56
- end ; end
27
+ def self.gemroot(name = nil, path = '')
28
+ unless gem(name)
29
+ raise "Invalid gem named as #{name.inspect}"
30
+ end
31
+
32
+ g = Gem::Specification.find_by_name(name)
33
+ File.join g.full_gem_path, path
34
+ end
57
35
 
36
+ def self.os
37
+ @@os ||=
38
+ begin
39
+ host_os = RbConfig::CONFIG['host_os']
40
+ case host_os
41
+ when /(mswin|msys|mingw|cygwin|bccwin|wince|emc)/
42
+ plat = Regexp.last_match(1) == 'mswin' && 'native' || Regexp.last_match(1)
43
+ out = `ver`.encode('US-ASCII', invalid: :replace, undef: :replace)
44
+ if out =~ /\[.* (\d+)\.([\d.]+)\]/
45
+ "windows-#{plat}-#{Regexp.last_match(1) == '5' && 'xp' || 'vista'}-#{Regexp.last_match(1)}.#{Regexp.last_match(2)}"
46
+ else
47
+ "windows-#{plat}"
48
+ end
49
+ when /darwin|mac os/
50
+ 'macosx'
51
+ when /linux/
52
+ 'linux'
53
+ when /(solaris|bsd)/
54
+ "unix-#{Regexp.last_match(1)}"
55
+ else
56
+ raise "unknown os: #{host_os.inspect}"
57
+ end
58
+ end
59
+ end
60
+ end
data/rdoba.gemspec CHANGED
@@ -1,32 +1,39 @@
1
- # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ $:.push File.expand_path('lib', __dir__)
3
4
  require "rdoba/_version_"
4
5
 
5
6
  Gem::Specification.new do |s|
6
- s.name = "rdoba"
7
- s.version = Rdoba::VERSION
8
- s.platform = Gem::Platform::RUBY
9
- s.authors = [ 'Малъ Скрылёвъ (Malo Skrylevo)' ]
10
- s.email = [ '3aHyga@gmail.com' ]
11
- s.homepage = 'https://github.com/3aHyga/rdoba'
12
- s.summary = 'Ruby extension library (Ruby DOBAvka)'
13
- s.description = 'Ruby extension library. It extends Kernel, Object, ' +
14
- 'String, Hash, Array, and some other classes. Also allows ' +
15
- 'to log application state with debug lines to an io'
16
- s.license = 'MIT'
7
+ s.name = "rdoba"
8
+ s.version = Rdoba::VERSION
9
+ s.platform = Gem::Platform::RUBY
10
+ s.authors = [ 'Малъ Скрылёвъ (Malo Skrylevo)' ]
11
+ s.email = [ '3aHyga@gmail.com' ]
12
+ s.homepage = 'https://github.com/3aHyga/rdoba'
13
+ s.summary = 'Ruby extension library (Ruby DOBAvka)'
14
+ s.description = 'Ruby extension library. It extends Kernel, Object, ' \
15
+ 'String, Hash, Array, and some other classes. Also allows ' \
16
+ 'to log application state with debug lines to an io'
17
+ s.license = 'MIT'
17
18
 
18
- s.rubyforge_project = "rdoba"
19
- s.files = `git ls-files`.split("\n")
20
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
21
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
22
- s.require_paths = [ "lib" ]
23
- s.extra_rdoc_files = [ 'README.md', 'LICENSE' ]
19
+ s.rubyforge_project = "rdoba"
20
+ s.files = `git ls-files`.split("\n")
21
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
22
+ s.executables = `git ls-files -- bin/*`.split( "\n" ).map{ |f| File.basename(f) }
23
+ s.require_paths = [ "lib" ]
24
+ s.extra_rdoc_files = [ 'README.md', 'LICENSE', 'CHANGES.md' ] |
25
+ `find html/`.split( "\n" )
24
26
 
25
- s.required_rubygems_version = '>= 1.6.0'
26
- s.required_ruby_version = '>= 1.9.0'
27
+ s.add_development_dependency 'bundler', '~> 2.0'
28
+ s.add_development_dependency 'coveralls'
29
+ s.add_development_dependency 'cucumber', '~> 1.3'
30
+ s.add_development_dependency 'ffi-stat', '~> 0.4'
31
+ s.add_development_dependency 'rake', '~> 12.0', '>= 12.3.3'
32
+ s.add_development_dependency 'rdiscount', '~> 2.1'
33
+ s.add_development_dependency 'rdoc', '~> 6.2'
34
+ s.add_development_dependency 'rspec-expectations', '~> 3.3'
35
+ s.add_development_dependency 'simplecov', '~> 0'
36
+ s.add_development_dependency 'tddium', '~> 1.25'
27
37
 
28
- s.add_development_dependency 'rake'
29
- s.add_development_dependency 'bundler', '~> 1.3'
30
- s.add_development_dependency 'cucumber', '~> 1.3'
31
- s.add_development_dependency 'coveralls'
32
- end
38
+ s.required_rubygems_version = '>= 1.6.0'
39
+ s.required_ruby_version = '>= 1.9.0' ; end
data/tddium.yml ADDED
@@ -0,0 +1,11 @@
1
+ :tddium:
2
+ :ruby_version: ruby-1.9.3-p547
3
+ :bundler_version: '~> 1.6.5'
4
+ :test_pattern:
5
+ - features/\*.feature
6
+ :tests:
7
+ - bundle exec cucumber
8
+ :coverage: true
9
+ :postgresql: false
10
+ :mysql: false
11
+ :sqlite: false