rdoba 0.9.1 → 0.9.4

Sign up to get free protection for your applications and to get access to all the features.
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