rails-app-spec 0.2.7 → 0.2.8
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +1 -1
- data/VERSION +1 -1
- data/lib/rails_app_spec/matchers/artifact/have_rails_artifact_files.rb +18 -4
- data/lib/rails_app_spec/matchers/artifact/shared/artifact_file_helper.rb +32 -11
- data/lib/rails_app_spec/matchers/artifact/shared/artifact_helper.rb +17 -17
- data/lib/rails_app_spec/matchers/directory/have_artifact_dirs.rb +2 -0
- data/lib/rails_app_spec/matchers/directory/have_rails_dir.rb +3 -9
- data/lib/rails_app_spec/matchers/directory/have_rails_dirs.rb +3 -1
- data/lib/rails_app_spec/matchers/file/have_rails_file.rb +3 -2
- data/lib/rails_app_spec/matchers/file/have_rails_files.rb +3 -0
- data/lib/rails_app_spec/matchers/special/have_app_config.rb +7 -5
- data/lib/rails_app_spec/matchers/special/have_gem.rb +3 -1
- data/lib/rails_app_spec/matchers/special/have_gems.rb +3 -1
- data/rails-app-spec.gemspec +2 -2
- data/spec/rails_app_spec/matchers/artifact/controller_spec.rb +1 -1
- data/spec/rails_app_spec/matchers/directory/have_rails_dir_spec.rb +24 -0
- data/spec/rails_app_spec/matchers/directory/have_rails_dirs_spec.rb +16 -0
- data/spec/rails_app_spec/matchers/file/have_rails_file_spec.rb +37 -0
- data/spec/rails_app_spec/matchers/file/have_rails_files_spec.rb +53 -0
- data/spec/rails_app_spec/matchers/special/have_app_config_spec.rb +22 -0
- data/spec/rails_app_spec/matchers/special/have_gem_spec.rb +31 -0
- data/spec/rails_app_spec/matchers/special/have_gems_spec.rb +27 -0
- data/spec/spec_helper.rb +1 -2
- metadata +3 -3
data/README.markdown
CHANGED
@@ -40,7 +40,7 @@ This library takes advantage of *code-spec*, *file-spec* and other essential spe
|
|
40
40
|
|
41
41
|
## TODO
|
42
42
|
|
43
|
-
|
43
|
+
Finish specs for the file matchers including the special file matchers to make sure they work!
|
44
44
|
|
45
45
|
## Note on Patches/Pull Requests
|
46
46
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.8
|
@@ -10,13 +10,13 @@ module RSpec::RailsApp::ArtifactFile
|
|
10
10
|
|
11
11
|
handle_view artifact_type, names
|
12
12
|
|
13
|
-
|
14
|
-
self.artifact_name = name.to_s
|
13
|
+
@artifact_type = artifact_type
|
15
14
|
end
|
16
15
|
|
17
16
|
def matches?(root_path, &block)
|
18
|
-
names.to_strings.each do |name|
|
19
|
-
|
17
|
+
names.to_strings.each do |name|
|
18
|
+
@artifact_name = name
|
19
|
+
@artifact_name = get_artifact_name
|
20
20
|
return false if !File.file?(artifact_name)
|
21
21
|
end
|
22
22
|
yield if block
|
@@ -28,6 +28,20 @@ module RSpec::RailsApp::ArtifactFile
|
|
28
28
|
HaveRailsArtifactFiles.new(artifact_type, *names)
|
29
29
|
end
|
30
30
|
alias_method :contain_rails_artifact_files, :have_rails_artifact_files
|
31
|
+
|
32
|
+
(::Rails3::Assist.artifacts - [:view]).each do |name|
|
33
|
+
class_eval %{
|
34
|
+
def have_#{name}_files *names
|
35
|
+
have_rails_artifact_files :#{name}, *names
|
36
|
+
end
|
37
|
+
alias_method :contain_#{name}_files, :have_#{name}_files
|
38
|
+
}
|
39
|
+
end
|
40
|
+
|
41
|
+
def have_view_files *args
|
42
|
+
have_rails_artifact_files :view, *args
|
43
|
+
end
|
44
|
+
alias_method :contain_view_files, :have_view_files
|
31
45
|
end
|
32
46
|
end
|
33
47
|
|
@@ -5,32 +5,53 @@ end
|
|
5
5
|
|
6
6
|
module ArtifactFile::Matcher
|
7
7
|
module Helper
|
8
|
-
|
9
|
-
|
8
|
+
include ::Rails3::Assist::Artifact::View::FileName
|
9
|
+
|
10
|
+
attr_reader :name, :artifact_type, :artifact_name
|
11
|
+
attr_reader :folder, :action, :view_ext
|
10
12
|
attr_reader :names, :root_path
|
11
13
|
|
12
14
|
def set_view name
|
13
15
|
view_options = name
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
16
|
+
puts "view_options: #{view_options}"
|
17
|
+
@folder = view_options[:folder]
|
18
|
+
@action = view_options[:action]
|
19
|
+
@view_ext = view_options[:view_ext]
|
20
|
+
@artifact_type = :view
|
18
21
|
end
|
19
22
|
|
20
23
|
def handle_view artifact_type, names
|
21
24
|
if artifact_type == :view
|
25
|
+
puts "handle view"
|
22
26
|
lang_option = last_arg({:lang => 'erb.html'}, names)
|
23
27
|
raise ArgumentException, ':folder option must be specified in the last hash argument for #have_views' if !lang_option[:folder]
|
24
|
-
|
25
|
-
|
28
|
+
@folder = lang_option[:folder]
|
29
|
+
@view_ext = get_view_ext(lang_option[:lang] || :erb)
|
30
|
+
|
31
|
+
puts "folder: #{folder}, ext: #{view_ext}"
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def get_view_ext(ext)
|
36
|
+
case ext.to_sym
|
37
|
+
when :erb
|
38
|
+
'erb.html'
|
39
|
+
when :haml
|
40
|
+
'haml.html'
|
41
|
+
else
|
42
|
+
ext.to_s
|
26
43
|
end
|
27
44
|
end
|
28
45
|
|
29
46
|
def get_artifact_name
|
30
47
|
case artifact_type
|
31
|
-
when :view
|
32
|
-
|
33
|
-
|
48
|
+
when :view
|
49
|
+
puts "args: #{folder}"
|
50
|
+
puts "args: #{artifact_name}"
|
51
|
+
#, #{action}"
|
52
|
+
path = send(:view_file_name, folder, artifact_name) #, view_ext, :root_path => root_path)
|
53
|
+
# puts "path: #{path}"
|
54
|
+
# File.expand_path(path)
|
34
55
|
else
|
35
56
|
find_existing_artifact_method = "existing_#{artifact_type}_file"
|
36
57
|
if respond_to? find_existing_artifact_method
|
@@ -10,9 +10,9 @@ module Artifact::Matcher
|
|
10
10
|
attr_accessor :name, :type, :postfix
|
11
11
|
# subclass
|
12
12
|
attr_accessor :superclass
|
13
|
-
|
14
|
-
|
15
|
-
attr_reader :root_path
|
13
|
+
|
14
|
+
attr_reader :folder, :action, :view_ext
|
15
|
+
attr_reader :artifact_found, :root_path
|
16
16
|
|
17
17
|
SUPERCLASS_MAP = {
|
18
18
|
:observer => 'ActiveRecord::Observer',
|
@@ -27,34 +27,34 @@ module Artifact::Matcher
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def parse_type artifact_type
|
30
|
-
|
31
|
-
|
30
|
+
@artifact_type = artifact_type
|
31
|
+
@postfix = artifact_type.to_s.camelize if has_postfix? artifact_type
|
32
32
|
case artifact_type
|
33
33
|
when :helper, :controller
|
34
34
|
# artifact class check
|
35
|
-
|
36
|
-
|
35
|
+
@class_type = :class
|
36
|
+
@type = :class
|
37
37
|
when :observer, :migration, :mailer
|
38
|
-
|
38
|
+
@class_type = :subclass
|
39
39
|
# artifact subclass check
|
40
|
-
|
40
|
+
@superclass = SUPERCLASS_MAP[artifact_type]
|
41
41
|
when :model
|
42
42
|
# check class == name
|
43
|
-
|
43
|
+
@class_type = :class
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
47
|
def parse_name name
|
48
48
|
if name.kind_of? Hash
|
49
49
|
view_options = name
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
50
|
+
@folder = view_options[:folder]
|
51
|
+
@action = view_options[:action]
|
52
|
+
@view_ext = view_options[:view_ext]
|
53
|
+
@artifact_type = :view
|
54
54
|
return nil
|
55
55
|
end
|
56
|
-
|
57
|
-
|
56
|
+
@artifact_name = name.to_s.downcase
|
57
|
+
@name = name.to_s.camelize
|
58
58
|
end
|
59
59
|
|
60
60
|
def find_artifact
|
@@ -77,7 +77,7 @@ module Artifact::Matcher
|
|
77
77
|
end
|
78
78
|
end
|
79
79
|
if !artifact_found
|
80
|
-
|
80
|
+
@artifact_found = '[unknown]'
|
81
81
|
return nil
|
82
82
|
end
|
83
83
|
|
@@ -1,6 +1,8 @@
|
|
1
1
|
module RSpec::RailsApp::Directory
|
2
2
|
module Matchers
|
3
3
|
class HaveRailsDir
|
4
|
+
extend Rails3::Assist::UseMacro
|
5
|
+
use_helper :directory
|
4
6
|
|
5
7
|
attr_accessor :dir, :type
|
6
8
|
|
@@ -26,15 +28,7 @@ module RSpec::RailsApp::Directory
|
|
26
28
|
HaveRailsDir.new(type)
|
27
29
|
end
|
28
30
|
|
29
|
-
::Rails3::Assist::Directory::Root.root_directories.each do |name|
|
30
|
-
class_eval %{
|
31
|
-
def have_#{name}_dir
|
32
|
-
have_rails_dir :#{name}
|
33
|
-
end
|
34
|
-
}
|
35
|
-
end
|
36
|
-
|
37
|
-
::Rails3::Assist::Directory::App.app_directories.each do |name|
|
31
|
+
(Rails3::Assist.artifacts + Rails3::Assist.specials(:all) + Rails3::Assist::Directory::Root.root_directories).each do |name|
|
38
32
|
class_eval %{
|
39
33
|
def have_#{name}_dir
|
40
34
|
have_rails_dir :#{name}
|
@@ -4,6 +4,7 @@ module RSpec::RailsApp::File
|
|
4
4
|
module Matchers
|
5
5
|
class HaveRailsFile
|
6
6
|
include ::Rails3::Assist::Artifact
|
7
|
+
include ::Rails3::Assist::File
|
7
8
|
include RailsFile::Matcher::Helper
|
8
9
|
|
9
10
|
def initialize(name, type = nil)
|
@@ -17,8 +18,8 @@ module RSpec::RailsApp::File
|
|
17
18
|
end
|
18
19
|
end
|
19
20
|
|
20
|
-
def have_rails_file(type
|
21
|
-
HaveRailsFile.new(type)
|
21
|
+
def have_rails_file(name, type=nil)
|
22
|
+
HaveRailsFile.new(name, type)
|
22
23
|
end
|
23
24
|
|
24
25
|
[:initializer, :db, :migration, :locale, :javascript, :stylesheet].each do |name|
|
@@ -4,6 +4,7 @@ module RSpec::RailsApp::File
|
|
4
4
|
module Matchers
|
5
5
|
class HaveRailsFiles
|
6
6
|
include ::Rails3::Assist::Artifact
|
7
|
+
include ::Rails3::Assist::File
|
7
8
|
include RailsFile::Matcher::Helper
|
8
9
|
|
9
10
|
attr_reader :names
|
@@ -14,8 +15,10 @@ module RSpec::RailsApp::File
|
|
14
15
|
end
|
15
16
|
|
16
17
|
def matches?(obj, &block)
|
18
|
+
puts "type: #{type}"
|
17
19
|
names.to_strings.each do |name|
|
18
20
|
@name = name
|
21
|
+
puts "name: #{name}"
|
19
22
|
@file = send(:"#{type}_file", name)
|
20
23
|
return false if !File.file?(file)
|
21
24
|
end
|
@@ -6,19 +6,21 @@ module RSpec::RailsApp::Content
|
|
6
6
|
class HaveAppConfig
|
7
7
|
extend Rails3::Assist::UseMacro
|
8
8
|
use_helpers :file
|
9
|
+
|
10
|
+
include Rails3::Assist::File::Special
|
11
|
+
include Rails3::Assist::File::Application
|
9
12
|
|
10
13
|
attr_reader :left_side, :right_side, :operator
|
11
14
|
|
12
|
-
def initialize
|
13
|
-
@left_side, @right_side = *
|
14
|
-
@operator =
|
15
|
+
def initialize args
|
16
|
+
@left_side, @right_side = *args.first
|
17
|
+
@operator = last_arg_value({:op => '='}, args)
|
15
18
|
end
|
16
19
|
|
17
20
|
# TODO: relative to root_path ?
|
18
21
|
def matches?(root_path=nil)
|
19
22
|
content = read_application_file
|
20
|
-
return nil if content.empty?
|
21
|
-
|
23
|
+
return nil if content.empty?
|
22
24
|
ls, rs, op = escape_all(left_side, right_side, operator)
|
23
25
|
(content =~ /config.#{ls}\s*#{op}\s*#{rs}/)
|
24
26
|
end
|
@@ -8,6 +8,8 @@ module RSpec::RailsApp::Content
|
|
8
8
|
class HaveGem
|
9
9
|
extend Rails3::Assist::UseMacro
|
10
10
|
use_helpers :file
|
11
|
+
|
12
|
+
include Rails3::Assist::File::Special
|
11
13
|
|
12
14
|
attr_reader :name, :version, :options
|
13
15
|
|
@@ -26,7 +28,7 @@ module RSpec::RailsApp::Content
|
|
26
28
|
|
27
29
|
# TODO: relative to root_path ?
|
28
30
|
def matches?(root_path=nil)
|
29
|
-
content =
|
31
|
+
content = read_gem_file
|
30
32
|
return nil if content.empty?
|
31
33
|
(content =~ /gem\s+#{name_expr}#{version_expr}/)
|
32
34
|
end
|
@@ -9,6 +9,8 @@ module RSpec::RailsApp::Content
|
|
9
9
|
class HaveGems
|
10
10
|
extend Rails3::Assist::UseMacro
|
11
11
|
use_helpers :file
|
12
|
+
|
13
|
+
include Rails3::Assist::File::Special
|
12
14
|
|
13
15
|
attr_reader :names, :name
|
14
16
|
|
@@ -18,7 +20,7 @@ module RSpec::RailsApp::Content
|
|
18
20
|
|
19
21
|
# TODO: relative to root_path ?
|
20
22
|
def matches?(root_path=nil)
|
21
|
-
content =
|
23
|
+
content = read_gem_file
|
22
24
|
return nil if content.empty?
|
23
25
|
names.each do |name|
|
24
26
|
(content =~ /gem\s+#{name_expr(name)}/)
|
data/rails-app-spec.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{rails-app-spec}
|
8
|
-
s.version = "0.2.
|
8
|
+
s.version = "0.2.8"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Kristian Mandrup"]
|
12
|
-
s.date = %q{2010-09-
|
12
|
+
s.date = %q{2010-09-15}
|
13
13
|
s.description = %q{RSpec 2 matchers to spec the structure of your Rails 3 app}
|
14
14
|
s.email = %q{kmandrup@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
root_dir = Rails3::Assist::Directory.rails_root
|
4
|
+
|
5
|
+
describe 'Rails matcher: have_rails_dir' do
|
6
|
+
use_helpers :directory, :app, :controller
|
7
|
+
|
8
|
+
before :each do
|
9
|
+
create_empty_tmp :controller
|
10
|
+
create_empty_tmp :locale
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should not have an model dir" do
|
14
|
+
root_dir.should_not have_model_dir
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should have a controller dir" do
|
18
|
+
root_dir.should have_controller_dir
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should have a locale dir" do
|
22
|
+
root_dir.should have_locale_dir
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
root_dir = Rails3::Assist::Directory.rails_root
|
4
|
+
|
5
|
+
describe 'Rails matcher: have_rails_dirs' do
|
6
|
+
use_helpers :directory, :app
|
7
|
+
|
8
|
+
before :each do
|
9
|
+
create_empty_tmp :controller
|
10
|
+
create_empty_tmp :locale
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should have a rails dirs :locale and :controller" do
|
14
|
+
root_dir.should have_rails_dirs :locale, :controller
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
root_dir = Rails3::Assist::Directory.rails_root
|
4
|
+
|
5
|
+
describe 'Rails matcher: have_rails_file' do
|
6
|
+
use_helpers :file, :controller
|
7
|
+
|
8
|
+
before :each do
|
9
|
+
create_controller :account do
|
10
|
+
%q{
|
11
|
+
def index
|
12
|
+
end
|
13
|
+
}
|
14
|
+
end
|
15
|
+
|
16
|
+
create_javascript :effects do
|
17
|
+
'# effects '
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
after :each do
|
22
|
+
remove_controller :account
|
23
|
+
remove_javascript :effects
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should not have initializer :hello" do
|
27
|
+
root_dir.should_not have_initializer_file :hello
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should have a controller :account" do
|
31
|
+
root_dir.should have_controller_file :account
|
32
|
+
end
|
33
|
+
|
34
|
+
it "should have a js :effects" do
|
35
|
+
root_dir.should have_javascript_file :effects
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
root_dir = Rails3::Assist::Directory.rails_root
|
4
|
+
|
5
|
+
describe 'Rails matcher: have_rails_files' do
|
6
|
+
use_helpers :files, :file, :controller, :view
|
7
|
+
|
8
|
+
before :each do
|
9
|
+
create_controller :account do
|
10
|
+
'blip'
|
11
|
+
end
|
12
|
+
|
13
|
+
create_controller :person do
|
14
|
+
'blap'
|
15
|
+
end
|
16
|
+
|
17
|
+
create_javascript :effects do
|
18
|
+
'# effects '
|
19
|
+
end
|
20
|
+
|
21
|
+
create_javascript :noise do
|
22
|
+
'# noise '
|
23
|
+
end
|
24
|
+
|
25
|
+
create_view :person, :edit do
|
26
|
+
'# edit person '
|
27
|
+
end
|
28
|
+
|
29
|
+
create_view :person, :new do
|
30
|
+
'# new person '
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
after :each do
|
35
|
+
# remove_controller :account
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should have a controller :account, :person" do
|
39
|
+
root_dir.should have_controller_files :account, :person
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should have a js :effects, :noise" do
|
43
|
+
root_dir.should have_javascript_files :effects, :noise
|
44
|
+
end
|
45
|
+
|
46
|
+
it "should not have a js files :effects, :sound" do
|
47
|
+
root_dir.should_not have_javascript_files :effects, :sound
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should have a view :effects, :noise" do
|
51
|
+
root_dir.should have_view_files :edit, :new, :folder => :person
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
root_dir = Rails3::Assist::Directory.rails_root
|
4
|
+
|
5
|
+
describe 'Rails matcher: have_app_config' do
|
6
|
+
use_helpers :directory, :file, :app
|
7
|
+
|
8
|
+
before :each do
|
9
|
+
create_empty_tmp :config
|
10
|
+
Dir.chdir config_dir do
|
11
|
+
File.overwrite 'application.rb' do
|
12
|
+
%q{
|
13
|
+
config.root_dir = MY_ROOT
|
14
|
+
}
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should not have initializer :hello" do
|
20
|
+
root_dir.should have_app_config :root_dir => 'MY_ROOT'
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
root = Rails3::Assist::Directory.rails_root
|
4
|
+
|
5
|
+
describe 'Rails matcher: have_gem' do
|
6
|
+
use_helpers :directory, :file
|
7
|
+
|
8
|
+
before :each do
|
9
|
+
puts "root: #{root_dir}"
|
10
|
+
Dir.chdir root_dir do
|
11
|
+
File.overwrite 'Gemfile' do
|
12
|
+
%q{
|
13
|
+
gem "cancan"
|
14
|
+
gem "devise", '1.1'
|
15
|
+
}
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should have gem 'cancan'" do
|
21
|
+
root.should have_gem 'cancan'
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should have gem 'devise' version 1.1" do
|
25
|
+
root.should have_gem 'cancan', '1.1'
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should not have gem 'devise' version 1" do
|
29
|
+
root.should have_gem 'devise', '1'
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
root = Rails3::Assist::Directory.rails_root
|
4
|
+
|
5
|
+
describe 'Rails matcher: have_gems' do
|
6
|
+
use_helpers :directory, :file
|
7
|
+
|
8
|
+
before :each do
|
9
|
+
Dir.chdir root_dir do
|
10
|
+
File.overwrite 'Gemfile' do
|
11
|
+
%q{
|
12
|
+
gem "cancan"
|
13
|
+
gem "devise", '1.1'
|
14
|
+
gem "roles"
|
15
|
+
}
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should have gems 'cancan', 'devise', 'roles'" do
|
21
|
+
root.should have_gems 'cancan', 'devise', 'roles'
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should not have gems 'cancan', 'devise', 'roles_are_us'" do
|
25
|
+
root.should have_gems 'cancan', 'devise', 'roles_are_us'
|
26
|
+
end
|
27
|
+
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 2
|
8
|
-
-
|
9
|
-
version: 0.2.
|
8
|
+
- 8
|
9
|
+
version: 0.2.8
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Kristian Mandrup
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-09-
|
17
|
+
date: 2010-09-15 00:00:00 +02:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|