rails3_assist 0.3.6 → 0.3.7

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.6
1
+ 0.3.7
@@ -1,4 +1,5 @@
1
1
  require_all File.dirname(__FILE__) + '/file'
2
+ # require 'sugar-high/file'
2
3
 
3
4
  module Rails3::Assist
4
5
  module File
@@ -33,6 +34,25 @@ module Rails3::Assist
33
34
  end
34
35
  end
35
36
 
37
+ def read_#{name} name
38
+ fname = #{name}_file(name)
39
+ ::File.read(fname) if ::File.file?(fname)
40
+ end
41
+ alias_method :read_#{name}_file, :read_#{name}
42
+
43
+ def replace_#{name}_content name, args = {}, &block
44
+ if !(args.kind_of?(Hash) && args[:where])
45
+ raise ArgumentError, "#replace_#{name}_content Must take a hash argument with a :where option that is the content to be matched and replaced"
46
+ end
47
+
48
+ replace_content = block ? yield : args[:with]
49
+ if !replace_content
50
+ raise ArgumentError, "#replace_#{name}_content Must take a block or a :with hash option that is the content to replace with"
51
+ end
52
+
53
+ ::File.replace_content_from #{name}_file(name), :where => args[:where], :with => replace_content
54
+ end
55
+
36
56
  def remove_all_#{plural_name}
37
57
  return if !::File.directory?(Rails3::Assist::Artifact::Directory.#{name}_dir)
38
58
  #{name}_files.each{|f| ::File.delete_file! f}
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{rails3_assist}
8
- s.version = "0.3.6"
8
+ s.version = "0.3.7"
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{2011-01-01}
12
+ s.date = %q{2011-01-07}
13
13
  s.description = %q{Basic file operation helpers for working with Rails 3 artifacts}
14
14
  s.email = %q{kmandrup@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -30,6 +30,60 @@ describe Rails3::Assist::File do
30
30
  end
31
31
  end
32
32
 
33
+ describe '#read_initializer' do
34
+ it "should create replace initializer content using hash args" do
35
+ name = 'my_init'
36
+ CLASS.remove_initializers(name)
37
+ CLASS.create_initializer(name) do
38
+ 'hello'
39
+ end
40
+ CLASS.read_initializer(name).should match /hello/
41
+ end
42
+ end
43
+
44
+ describe '#read_initializer_file' do
45
+ it "should create replace initializer content using hash args" do
46
+ name = 'my_init'
47
+ CLASS.remove_initializers(name)
48
+ CLASS.create_initializer(name) do
49
+ 'hello'
50
+ end
51
+ CLASS.read_initializer_file(name).should match /hello/
52
+ end
53
+ end
54
+
55
+
56
+ describe '#replace_initializer_content' do
57
+ it "should create replace initializer content using hash args" do
58
+ name = 'my_init'
59
+ CLASS.remove_initializers(name)
60
+ CLASS.create_initializer(name) do
61
+ 'hello'
62
+ end
63
+ CLASS.replace_initializer_content name, :where => 'hello', :with => 'goodbye'
64
+
65
+ CLASS.read_initializer(name).should match /goodbye/
66
+ CLASS.read_initializer(name).should_not match /hello/
67
+ end
68
+
69
+ it "should create replace initializer content using hash arg and block" do
70
+ name = 'my_init'
71
+ CLASS.remove_initializers(name)
72
+ CLASS.create_initializer(name) do
73
+ 'hello'
74
+ end
75
+ CLASS.replace_initializer_content name, :where => 'hello' do
76
+ 'goodbye'
77
+ end
78
+
79
+ CLASS.read_initializer(name).should match /goodbye/
80
+ CLASS.read_initializer(name).should_not match /hello/
81
+ end
82
+ end
83
+
84
+
85
+
86
+
33
87
  describe '#create_javascript' do
34
88
  it "should create the javascript file 'my_init' " do
35
89
  name = :effects
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 3
8
- - 6
9
- version: 0.3.6
8
+ - 7
9
+ version: 0.3.7
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: 2011-01-01 00:00:00 +01:00
17
+ date: 2011-01-07 00:00:00 +01:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency