wriggle 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -1,4 +1,5 @@
1
- coverage
2
- rdoc
3
- pkg
1
+ pkg/*
2
+ *.gem
3
+ .bundle
4
4
  .yardoc/
5
+ tmp/
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in wriggle.gemspec
4
+ gemspec
@@ -0,0 +1,26 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ wriggle (1.3.0)
5
+
6
+ GEM
7
+ remote: http://rubygems.org/
8
+ specs:
9
+ diff-lcs (1.1.2)
10
+ rspec (2.5.0)
11
+ rspec-core (~> 2.5.0)
12
+ rspec-expectations (~> 2.5.0)
13
+ rspec-mocks (~> 2.5.0)
14
+ rspec-core (2.5.1)
15
+ rspec-expectations (2.5.0)
16
+ diff-lcs (~> 1.1.2)
17
+ rspec-mocks (2.5.0)
18
+ yard (0.6.3)
19
+
20
+ PLATFORMS
21
+ ruby
22
+
23
+ DEPENDENCIES
24
+ rspec (~> 2.5)
25
+ wriggle!
26
+ yard (~> 0.6)
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2009 rspeicher
1
+ Copyright (c) 2011 Robert Speicher
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -7,23 +7,38 @@ A simple directory crawler DSL.
7
7
  require 'wriggle'
8
8
 
9
9
  wriggle '/path/to/files' do |w|
10
+ # Print a list of files
11
+ w.file { |path| puts path }
12
+
13
+ # Build a list of Rails controller files
14
+ controllers = []
15
+ w.files /_controller\.rb/ do |path|
16
+ controllers << path
17
+ end
18
+
19
+ # Print the path of any file named "spec_helper.rb"
20
+ w.file 'spec_helper.rb' { |path| puts path }
10
21
 
11
22
  # Build an array of Ruby code files
12
23
  ruby_files = []
13
- w.file :rb do |path|
24
+ w.extension :rb do |path|
14
25
  ruby_files << path
15
26
  end
16
27
 
17
28
  # Build an array of video files
18
29
  video_files = []
19
- w.file %w(mpg mpeg wmv avi mkv) do |path|
30
+ w.extensions %w(mpg mpeg wmv avi mkv) do |path|
20
31
  video_files << path
21
32
  end
22
33
 
23
34
  # Delete directories that are empty
24
- w.directory do |path|
35
+ w.directories do |path|
25
36
  Dir.rmdir(path) unless Dir.entries(path).length > 2
26
37
  end
38
+
39
+ # Print a list of directories matching "foo"
40
+ # NOTE: Matches "/baz/bar/foo" and "/foo" but not "/foo/bar/baz"
41
+ w.directory /foo/ { |path| puts path }
27
42
  end
28
43
 
29
44
  ## Note on Patches/Pull Requests
data/Rakefile CHANGED
@@ -1,21 +1,5 @@
1
- require 'rubygems'
2
- require 'rake'
3
-
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "wriggle"
8
- gem.summary = %Q{A simple directory crawler DSL.}
9
- gem.description = %Q{A simple directory crawler DSL.}
10
- gem.email = "rspeicher@gmail.com"
11
- gem.homepage = "http://github.com/tsigo/wriggle"
12
- gem.authors = ["Robert Speicher"]
13
- gem.add_development_dependency "rspec", "~> 2.0.0"
14
- end
15
- Jeweler::GemcutterTasks.new
16
- rescue LoadError
17
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
18
- end
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
19
3
 
20
4
  require 'rspec/core/rake_task'
21
5
  RSpec::Core::RakeTask.new(:spec)
@@ -25,7 +9,7 @@ begin
25
9
  require 'yard'
26
10
  YARD::Rake::YardocTask.new
27
11
  rescue LoadError
28
- task :yardoc do
29
- abort "YARD is not available. In order to run yardoc, you must: sudo gem install yard"
12
+ task :yard do
13
+ abort "YARD is not available. In order to run yard, you must: sudo gem install yard"
30
14
  end
31
15
  end
@@ -9,23 +9,38 @@ require 'find'
9
9
  # require 'wriggle'
10
10
  #
11
11
  # wriggle '/path/to/files' do |w|
12
+ # # Print a list of files
13
+ # w.file { |path| puts path }
14
+ #
15
+ # # Build a list of Rails controller files
16
+ # controllers = []
17
+ # w.files /_controller\.rb/ do |path|
18
+ # controllers << path
19
+ # end
20
+ #
21
+ # # Print the path of any file named "spec_helper.rb"
22
+ # w.file 'spec_helper.rb' { |path| puts path }
12
23
  #
13
24
  # # Build an array of Ruby code files
14
25
  # ruby_files = []
15
- # w.file :rb do |path|
26
+ # w.extension :rb do |path|
16
27
  # ruby_files << path
17
28
  # end
18
29
  #
19
30
  # # Build an array of video files
20
31
  # video_files = []
21
- # w.file %w(mpg mpeg wmv avi mkv) do |path|
32
+ # w.extensions %w(mpg mpeg wmv avi mkv) do |path|
22
33
  # video_files << path
23
34
  # end
24
35
  #
25
36
  # # Delete directories that are empty
26
- # w.directory do |path|
37
+ # w.directories do |path|
27
38
  # Dir.rmdir(path) unless Dir.entries(path).length > 2
28
39
  # end
40
+ #
41
+ # # Print a list of directories matching "foo"
42
+ # # NOTE: Matches "/baz/bar/foo" and "/foo" but not "/foo/bar/baz"
43
+ # w.directory /foo/ { |path| puts path }
29
44
  # end
30
45
  module Wriggle
31
46
  # Crawl the given +path+
@@ -38,72 +53,124 @@ module Wriggle
38
53
  end
39
54
 
40
55
  class Wriggle
41
- attr_accessor :root, :file_blocks, :directory_blocks
42
-
43
56
  def initialize(root, &block)
44
57
  @root = root
45
58
  @file_blocks = []
46
59
  @directory_blocks = []
60
+ @extension_blocks = []
47
61
 
48
62
  crawl(&block)
49
63
  end
50
64
 
51
- def crawl(&block)
52
- yield self
53
-
54
- Find.find(root) do |current|
55
- if File.file?(current)
56
- dispatch_file(current)
57
- elsif File.directory?(current)
58
- dispatch_directory(current)
59
- end
60
- end
65
+ # Define a block to be called when a file is encountered
66
+ #
67
+ # @example All files
68
+ # file { |file| ... }
69
+ #
70
+ # @yield [path] Full, absolute file path
71
+ # @raise ArgumentError When no block provided
72
+ def file(*names, &block)
73
+ raise ArgumentError, "a block is required" unless block_given?
74
+ @file_blocks << {:names => names.flatten, :block => block}
61
75
  end
62
76
 
63
- # Define a block to be called when a file is encountered
77
+ # Define a block to be called when a directory is encountered
64
78
  #
65
- # Provide one or more extensions to limit the files yielded.
79
+ # Provide one or more patterns to match the directory's basename against
66
80
  #
67
- # == Examples:
68
- # file :rb { |file| ... }
69
- # file :rb, :rdoc { |file| ... }
70
- # file %w(mpeg mpeg wmv avi mkv) { |file| ... }
81
+ # @example All directories
82
+ # directory { |dir| ... }
83
+ # @example Directories matching <tt>/lib/</tt>
84
+ # directory /lib/ { |dir| ... }
85
+ # @example Directories matching <tt>/lib/</tt> or <tt>/spec/</tt>
86
+ # directories /lib/, /spec/ { |dir| ... }
71
87
  #
88
+ # @param [Array] patterns Limit the yielded directory paths only to those matching the provided pattern(s)
89
+ # @yield [path] Full, absolute directory path
72
90
  # @raise ArgumentError When no block provided
73
- def file(*extensions, &block)
91
+ def directory(*patterns, &block)
74
92
  raise ArgumentError, "a block is required" unless block_given?
75
- file_blocks << {:ext => extensions.flatten, :block => block}
93
+ @directory_blocks << {:pattern => patterns.flatten, :block => block}
76
94
  end
77
95
 
78
- # Define a block to be called when a directory is encountered
96
+ # Define a block to be called when a file of a certain extension is encountered
97
+ #
98
+ # @example All <tt>.rb</tt> files
99
+ # extension '.rb' { |file| ... }
100
+ # @example All <tt>.rb</tt> or <tt>.erb</tt> files
101
+ # extensions :rb, :erb { |file| ... }
102
+ # @example All video files
103
+ # extensions %w(mpeg mpeg wmv avi mkv) { |file| ... }
79
104
  #
105
+ # @param [Array] extensions Limit the yielded file paths to the provided extensions
106
+ # @yield [path] Full, absolute file path
80
107
  # @raise ArgumentError When no block provided
81
- def directory(&block)
108
+ # @raise ArgumentError When no extension argument provided
109
+ def extension(*extensions, &block)
82
110
  raise ArgumentError, "a block is required" unless block_given?
83
- directory_blocks << {:block => block}
111
+ raise ArgumentError, "at least one extension is required" unless extensions.length > 0
112
+ @extension_blocks << {:ext => extensions.flatten, :block => block}
84
113
  end
85
114
 
115
+ alias_method :files, :file
116
+ alias_method :directories, :directory
117
+ alias_method :extensions, :extension
118
+
86
119
  private
87
120
 
121
+ # Yields <tt>self</tt> to allow the user to define file/directory blocks, and then
122
+ # crawl the root directory, dispatching the user's defined blocks as each
123
+ # file type is encountered
124
+ def crawl(&block)
125
+ yield self
126
+
127
+ Find.find(@root) do |current|
128
+ if File.file?(current)
129
+ dispatch_file(current)
130
+ elsif File.directory?(current)
131
+ dispatch_directory(current)
132
+ end
133
+ end
134
+ end
135
+
136
+ # Called whenever <tt>crawl</tt> encounters a file
137
+ #
138
+ # Handles both <tt>file_blocks</tt> and <tt>extension_blocks</tt>.
88
139
  def dispatch_file(path)
89
140
  extension = File.extname(path)
90
141
 
91
- file_blocks.each do |group|
92
- if group[:ext].empty?
142
+ @file_blocks.each do |group|
143
+ if group[:names].empty?
93
144
  group[:block].call(path)
94
145
  else
95
- # Requested specific extensions only
96
- # Check if any of the extensions match the current file's extension (with or without the period)
97
- if group[:ext].any? { |v| v.to_s == extension or v.to_s == extension[1..-1] }
146
+ filename = File.basename(path)
147
+ if group[:names].any? { |v| (v.is_a?(String) and filename == v) or (v.is_a?(Regexp) and filename =~ v) }
98
148
  group[:block].call(path)
99
149
  end
100
150
  end
101
151
  end
152
+
153
+ @extension_blocks.each do |group|
154
+ # Check if any of the extensions match the current file's extension (with or without the period)
155
+ if group[:ext].any? { |v| v.to_s == extension or v.to_s == extension[1..-1] }
156
+ group[:block].call(path)
157
+ end
158
+ end
102
159
  end
103
160
 
161
+ # Called whenever <tt>crawl</tt> encounters a file
104
162
  def dispatch_directory(path)
105
- directory_blocks.each do |group|
106
- group[:block].call(path)
163
+ @directory_blocks.each do |group|
164
+ if group[:pattern].empty?
165
+ group[:block].call(path)
166
+ else
167
+ # User requested only directories matching a certain pattern
168
+ # Check if any of the patterns match the directory name
169
+ base = File.basename(path)
170
+ if group[:pattern].any? { |v| base =~ v }
171
+ group[:block].call(path)
172
+ end
173
+ end
107
174
  end
108
175
  end
109
176
  end
@@ -0,0 +1,3 @@
1
+ module Wriggle
2
+ VERSION = "1.3.0"
3
+ end
@@ -3,5 +3,9 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
3
 
4
4
  require 'wriggle'
5
5
 
6
+ Dir[File.expand_path('../support/**/*.rb', __FILE__)].each { |f| require f }
7
+
6
8
  RSpec.configure do |config|
9
+ config.before(:all) { TemporaryFiles.setup }
10
+ config.after(:all) { TemporaryFiles.teardown }
7
11
  end
@@ -0,0 +1,79 @@
1
+ require 'fileutils'
2
+
3
+ module TemporaryFiles
4
+ def self.path
5
+ File.expand_path("../../../tmp", __FILE__)
6
+ end
7
+
8
+ def self.setup
9
+ path = self.path
10
+
11
+ files = %w(app/views/wishlists/index.html.haml
12
+ app/views/shared/_moderation.html.haml
13
+ app/views/shared/_maintitle.html.haml
14
+ app/views/shared/_form_errors.html.haml
15
+ app/views/shared/_contextual_search.html.haml
16
+ app/views/members/wishlists/update.js.rjs
17
+ app/views/members/wishlists/new.html.haml
18
+ app/views/members/wishlists/index.lua.erb
19
+ app/views/members/wishlists/index.html.haml
20
+ app/views/members/wishlists/edit.html.haml
21
+ app/views/members/wishlists/create.js.rjs
22
+ app/views/members/wishlists/_wishlist_row.html.haml
23
+ app/views/members/wishlists/_form.html.haml
24
+ app/views/members/show.html.haml
25
+ app/views/members/new.html.haml
26
+ app/views/members/index.lua.erb
27
+ app/views/members/index.html.haml
28
+ app/views/members/edit.html.haml
29
+ app/views/members/_form.html.haml
30
+ app/views/layouts/application.lua.erb
31
+ app/views/layouts/application.html.haml
32
+ app/views/items/show.html.haml
33
+ app/views/items/new.html.haml
34
+ app/views/items/index.html.haml
35
+ app/views/items/edit.html.haml
36
+ app/views/items/_form.html.haml
37
+ app/sweepers/index_sweeper.rb
38
+ app/models/zone.rb
39
+ app/models/wishlist.rb
40
+ app/models/user_session.rb
41
+ app/models/user.rb
42
+ app/models/session.rb
43
+ app/models/raid.rb
44
+ app/models/member_rank.rb
45
+ app/models/member.rb
46
+ app/models/loot_table.rb
47
+ app/models/loot.rb
48
+ app/models/live_raid.rb
49
+ app/models/live_loot.rb
50
+ app/models/live_attendee.rb
51
+ app/models/item_price.rb
52
+ app/models/item.rb
53
+ app/models/completed_achievement.rb
54
+ app/models/boss.rb
55
+ app/models/attendee.rb
56
+ app/models/achievement.rb
57
+ app/helpers/members_helper.rb
58
+ app/helpers/members/wishlists_helper.rb
59
+ app/helpers/items_helper.rb
60
+ app/helpers/application_helper.rb
61
+ app/controllers/wishlists_controller.rb
62
+ app/controllers/user_sessions_controller.rb
63
+ app/controllers/searches_controller.rb
64
+ app/controllers/members_controller.rb
65
+ app/controllers/members/wishlists_controller.rb
66
+ app/controllers/items_controller.rb
67
+ app/controllers/application_controller.rb)
68
+
69
+ files.each do |file|
70
+ file = File.join(path, file)
71
+ FileUtils.mkdir_p(File.dirname(file))
72
+ FileUtils.touch(file)
73
+ end
74
+ end
75
+
76
+ def self.teardown
77
+ FileUtils.rm_rf(self.path)
78
+ end
79
+ end
@@ -1,73 +1,152 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Wriggle do
4
- # 1.8.7's Find uses relative paths, while 1.9.2's uses absolutes,
5
- # so we'll call expand_path and make sure our specs use this method
6
- def valid_dir
7
- File.expand_path(File.dirname(__FILE__))
8
- end
9
-
10
4
  it "should require a path argument" do
11
- lambda { wriggle() {} }.should raise_error(ArgumentError)
5
+ expect { wriggle() {} }.to raise_error(ArgumentError)
12
6
  end
13
7
 
14
8
  it "should raise an ArgumentError when given an invalid path" do
15
- lambda { wriggle('/path/to/nothing') {} }.should raise_error(ArgumentError, /does not exist/)
9
+ expect { wriggle('/path/to/nothing') {} }.to raise_error(ArgumentError, /does not exist/)
16
10
  end
17
11
 
18
12
  it "should raise an ArgumentError when given a non-directory" do
19
- lambda { wriggle(__FILE__) {} }.should raise_error(ArgumentError, /is not a directory/)
13
+ expect { wriggle(__FILE__) {} }.to raise_error(ArgumentError, /is not a directory/)
14
+ end
15
+
16
+ it "should alias 'files' to 'file'" do
17
+ expect { wriggle(TemporaryFiles.path) { |w| w.files } }.to_not raise_error(NoMethodError)
18
+ end
19
+
20
+ it "should alias 'directories' to 'directory'" do
21
+ expect { wriggle(TemporaryFiles.path) { |w| w.directories } }.to_not raise_error(NoMethodError)
20
22
  end
21
23
 
22
- context "given a valid path" do
23
- describe "#file" do
24
- it "should raise an ArgumentError when not given a block" do
25
- lambda { wriggle(valid_dir) { |w| w.file } }.should raise_error(ArgumentError, /a block is required/)
24
+ it "should alias 'extensions' to 'extension'" do
25
+ expect { wriggle(TemporaryFiles.path) { |w| w.extensions } }.to_not raise_error(NoMethodError)
26
+ end
27
+ end
28
+
29
+ describe Wriggle, "#file" do
30
+ it "should raise an ArgumentError when not given a block" do
31
+ expect { wriggle(TemporaryFiles.path) { |w| w.file } }.to raise_error(ArgumentError, /a block is required/)
32
+ end
33
+
34
+ it "should only include files matching a pattern when given a regex argument" do
35
+ actual = []
36
+ wriggle(TemporaryFiles.path) do |w|
37
+ w.file /controller/ do |path|
38
+ actual << path
26
39
  end
40
+ end
41
+
42
+ actual.should include("#{TemporaryFiles.path}/app/controllers/members_controller.rb")
43
+ actual.should include("#{TemporaryFiles.path}/app/controllers/members/wishlists_controller.rb")
44
+ actual.should_not include("#{TemporaryFiles.path}/app/controllers")
45
+ actual.should_not include("#{TemporaryFiles.path}/app/helpers/items_helper.rb")
46
+ end
47
+
48
+ it "should only include files matching a string when given a string argument" do
49
+ actual = []
50
+ wriggle(TemporaryFiles.path) do |w|
51
+ w.file 'members_controller.rb', 'wishlists_controller.rb' do |path|
52
+ actual << path
53
+ end
54
+ end
55
+
56
+ actual.should include("#{TemporaryFiles.path}/app/controllers/members_controller.rb")
57
+ actual.should include("#{TemporaryFiles.path}/app/controllers/members/wishlists_controller.rb")
58
+ actual.should include("#{TemporaryFiles.path}/app/controllers/wishlists_controller.rb")
59
+ actual.should_not include("#{TemporaryFiles.path}/app/controllers")
60
+ actual.should_not include("#{TemporaryFiles.path}/app/helpers/items_helper.rb")
61
+ end
27
62
 
28
- it "should not include directories when only a file block is provided" do
29
- actual = []
30
- wriggle(valid_dir) do |w|
31
- w.file do |path|
32
- actual << path
33
- end
34
- end
35
-
36
- actual.should include("#{valid_dir}/empty.txt")
37
- actual.should include("#{valid_dir}/wriggle_spec.rb")
38
- actual.should_not include("#{valid_dir}/spec")
63
+ it "should not include directories when only a file block is provided" do
64
+ actual = []
65
+ wriggle(TemporaryFiles.path) do |w|
66
+ w.file do |path|
67
+ actual << path
39
68
  end
69
+ end
70
+
71
+ actual.should include("#{TemporaryFiles.path}/app/controllers/members_controller.rb")
72
+ actual.should include("#{TemporaryFiles.path}/app/models/item.rb")
73
+ actual.should include("#{TemporaryFiles.path}/app/views/layouts/application.lua.erb")
74
+ actual.should include("#{TemporaryFiles.path}/app/views/layouts/application.html.haml")
75
+ actual.should include("#{TemporaryFiles.path}/app/views/members/wishlists/create.js.rjs")
76
+ actual.should_not include("#{TemporaryFiles.path}/app/views/")
77
+ end
78
+ end
79
+
80
+ describe Wriggle, "#directory" do
81
+ it "should raise an ArgumentError when not given a block" do
82
+ expect { wriggle(TemporaryFiles.path) { |w| w.directory } }.to raise_error(ArgumentError, /a block is required/)
83
+ end
40
84
 
41
- it "should only include files of the type specified" do
42
- actual = []
43
- wriggle(valid_dir) do |w|
44
- w.file :rb do |path|
45
- actual << path
46
- end
47
- end
48
-
49
- actual.should include("#{valid_dir}/wriggle_spec.rb")
50
- actual.should_not include("#{valid_dir}/empty.txt")
51
- actual.should_not include("#{valid_dir}")
85
+ it "should not include files when only a directory block is provided" do
86
+ actual = []
87
+ wriggle(TemporaryFiles.path) do |w|
88
+ w.directory do |path|
89
+ actual << path
52
90
  end
53
91
  end
54
92
 
55
- describe "#directory" do
56
- it "should raise an ArgumentError when not given a block" do
57
- lambda { wriggle(valid_dir) { |w| w.directory } }.should raise_error(ArgumentError, /a block is required/)
93
+ actual.should include("#{TemporaryFiles.path}")
94
+ actual.should include("#{TemporaryFiles.path}/app")
95
+ actual.should include("#{TemporaryFiles.path}/app/models")
96
+ actual.should_not include("#{TemporaryFiles.path}/models/member.rb")
97
+ end
98
+
99
+ it "should only include directories matching a pattern when given an argument" do
100
+ actual = []
101
+ wriggle(TemporaryFiles.path) do |w|
102
+ w.directory /member/, /model/ do |path|
103
+ actual << path
58
104
  end
105
+ end
59
106
 
60
- it "should not include files when only a directory block is provided" do
61
- actual = []
62
- wriggle(valid_dir) do |w|
63
- w.directory do |path|
64
- actual << path
65
- end
66
- end
107
+ actual.should include("#{TemporaryFiles.path}/app/controllers/members")
108
+ actual.should include("#{TemporaryFiles.path}/app/helpers/members")
109
+ actual.should include("#{TemporaryFiles.path}/app/views/members")
110
+ actual.should_not include("#{TemporaryFiles.path}/app/views/members/wishlists")
111
+ actual.should include("#{TemporaryFiles.path}/app/models")
112
+ actual.should_not include("#{TemporaryFiles.path}/app/views/items")
113
+ actual.should_not include("#{TemporaryFiles.path}/app/views/layouts")
114
+ end
115
+ end
116
+
117
+ describe Wriggle, "#extension" do
118
+ it "should raise an ArgumentError when not given a block" do
119
+ expect { wriggle(TemporaryFiles.path) { |w| w.extension(:rb) } }.to raise_error(ArgumentError, /a block is required/)
120
+ end
121
+
122
+ it "should raise an ArgumentError when not given any extensions to match" do
123
+ expect { wriggle(TemporaryFiles.path) { |w| w.extension {} } }.to raise_error(ArgumentError, /at least one extension is required/)
124
+ end
67
125
 
68
- actual.should include("#{valid_dir}")
69
- actual.should_not include("#{valid_dir}/wriggle_spec.rb")
126
+ it "should only include files of the extension specified" do
127
+ ruby, view = [], []
128
+ wriggle(TemporaryFiles.path) do |w|
129
+ w.extension :rb, :erb do |path|
130
+ ruby << path
131
+ end
132
+
133
+ w.extension %w(rjs haml) do |path|
134
+ view << path
70
135
  end
71
136
  end
137
+
138
+ ruby.should include("#{TemporaryFiles.path}/app/controllers/members_controller.rb")
139
+ ruby.should include("#{TemporaryFiles.path}/app/models/item.rb")
140
+ ruby.should include("#{TemporaryFiles.path}/app/views/layouts/application.lua.erb")
141
+ ruby.should_not include("#{TemporaryFiles.path}/app/views/layouts/application.html.haml")
142
+ ruby.should_not include("#{TemporaryFiles.path}/app/views/members/wishlists/create.js.rjs")
143
+ ruby.should_not include("#{TemporaryFiles.path}/app/views/")
144
+
145
+ view.should_not include("#{TemporaryFiles.path}/app/controllers/members_controller.rb")
146
+ view.should_not include("#{TemporaryFiles.path}/app/models/item.rb")
147
+ view.should_not include("#{TemporaryFiles.path}/app/views/layouts/application.lua.erb")
148
+ view.should include("#{TemporaryFiles.path}/app/views/layouts/application.html.haml")
149
+ view.should include("#{TemporaryFiles.path}/app/views/members/wishlists/create.js.rjs")
150
+ view.should_not include("#{TemporaryFiles.path}/app/views/")
72
151
  end
73
152
  end
@@ -1,55 +1,21 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
1
  # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "wriggle/version"
5
4
 
6
5
  Gem::Specification.new do |s|
7
- s.name = %q{wriggle}
8
- s.version = "1.2.0"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Robert Speicher"]
12
- s.date = %q{2010-12-14}
6
+ s.name = "wriggle"
7
+ s.version = Wriggle::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Robert Speicher"]
10
+ s.email = ["rspeicher@gmail.com"]
11
+ s.homepage = "http://github.com/tsigo/wriggle"
12
+ s.summary = %q{A simple directory crawler DSL}
13
13
  s.description = %q{A simple directory crawler DSL.}
14
- s.email = %q{rspeicher@gmail.com}
15
- s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.md"
18
- ]
19
- s.files = [
20
- ".document",
21
- ".gitignore",
22
- "LICENSE",
23
- "README.md",
24
- "Rakefile",
25
- "VERSION",
26
- "lib/wriggle.rb",
27
- "spec/empty.txt",
28
- "spec/spec_helper.rb",
29
- "spec/wriggle_spec.rb",
30
- "wriggle.gemspec"
31
- ]
32
- s.homepage = %q{http://github.com/tsigo/wriggle}
33
- s.rdoc_options = ["--charset=UTF-8"]
34
- s.require_paths = ["lib"]
35
- s.rubygems_version = %q{1.3.7}
36
- s.summary = %q{A simple directory crawler DSL.}
37
- s.test_files = [
38
- "spec/spec_helper.rb",
39
- "spec/wriggle_spec.rb"
40
- ]
41
14
 
42
- if s.respond_to? :specification_version then
43
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
44
- s.specification_version = 3
15
+ s.files = `git ls-files`.split("\n")
16
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
+ s.require_paths = ["lib"]
45
18
 
46
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
47
- s.add_development_dependency(%q<rspec>, ["~> 2.0.0"])
48
- else
49
- s.add_dependency(%q<rspec>, ["~> 2.0.0"])
50
- end
51
- else
52
- s.add_dependency(%q<rspec>, ["~> 2.0.0"])
53
- end
19
+ s.add_development_dependency "rspec", "~> 2.5"
20
+ s.add_development_dependency "yard", "~> 0.6"
54
21
  end
55
-
metadata CHANGED
@@ -1,13 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wriggle
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
5
- prerelease: false
6
- segments:
7
- - 1
8
- - 2
9
- - 0
10
- version: 1.2.0
4
+ prerelease:
5
+ version: 1.3.0
11
6
  platform: ruby
12
7
  authors:
13
8
  - Robert Speicher
@@ -15,7 +10,7 @@ autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
12
 
18
- date: 2010-12-14 00:00:00 -05:00
13
+ date: 2011-03-09 00:00:00 -05:00
19
14
  default_executable:
20
15
  dependencies:
21
16
  - !ruby/object:Gem::Dependency
@@ -26,33 +21,41 @@ dependencies:
26
21
  requirements:
27
22
  - - ~>
28
23
  - !ruby/object:Gem::Version
29
- hash: 15
30
- segments:
31
- - 2
32
- - 0
33
- - 0
34
- version: 2.0.0
24
+ version: "2.5"
35
25
  type: :development
36
26
  version_requirements: *id001
27
+ - !ruby/object:Gem::Dependency
28
+ name: yard
29
+ prerelease: false
30
+ requirement: &id002 !ruby/object:Gem::Requirement
31
+ none: false
32
+ requirements:
33
+ - - ~>
34
+ - !ruby/object:Gem::Version
35
+ version: "0.6"
36
+ type: :development
37
+ version_requirements: *id002
37
38
  description: A simple directory crawler DSL.
38
- email: rspeicher@gmail.com
39
+ email:
40
+ - rspeicher@gmail.com
39
41
  executables: []
40
42
 
41
43
  extensions: []
42
44
 
43
- extra_rdoc_files:
44
- - LICENSE
45
- - README.md
45
+ extra_rdoc_files: []
46
+
46
47
  files:
47
48
  - .document
48
49
  - .gitignore
50
+ - Gemfile
51
+ - Gemfile.lock
49
52
  - LICENSE
50
53
  - README.md
51
54
  - Rakefile
52
- - VERSION
53
55
  - lib/wriggle.rb
54
- - spec/empty.txt
56
+ - lib/wriggle/version.rb
55
57
  - spec/spec_helper.rb
58
+ - spec/support/temporary_files.rb
56
59
  - spec/wriggle_spec.rb
57
60
  - wriggle.gemspec
58
61
  has_rdoc: true
@@ -60,8 +63,8 @@ homepage: http://github.com/tsigo/wriggle
60
63
  licenses: []
61
64
 
62
65
  post_install_message:
63
- rdoc_options:
64
- - --charset=UTF-8
66
+ rdoc_options: []
67
+
65
68
  require_paths:
66
69
  - lib
67
70
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -69,26 +72,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
69
72
  requirements:
70
73
  - - ">="
71
74
  - !ruby/object:Gem::Version
72
- hash: 3
73
- segments:
74
- - 0
75
75
  version: "0"
76
76
  required_rubygems_version: !ruby/object:Gem::Requirement
77
77
  none: false
78
78
  requirements:
79
79
  - - ">="
80
80
  - !ruby/object:Gem::Version
81
- hash: 3
82
- segments:
83
- - 0
84
81
  version: "0"
85
82
  requirements: []
86
83
 
87
84
  rubyforge_project:
88
- rubygems_version: 1.3.7
85
+ rubygems_version: 1.6.1
89
86
  signing_key:
90
87
  specification_version: 3
91
- summary: A simple directory crawler DSL.
88
+ summary: A simple directory crawler DSL
92
89
  test_files:
93
90
  - spec/spec_helper.rb
91
+ - spec/support/temporary_files.rb
94
92
  - spec/wriggle_spec.rb
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 1.2.0
File without changes