allen 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ZjVhNjRlNTg4NjZlMjlhZTJkM2RmNTJmZjU2OTEwNTg4NTE0MzZmNA==
5
+ data.tar.gz: !binary |-
6
+ ZDY5NmUwMmZhNDQ2YmFjY2I2YTRlNmRiMzZjZDMzNjliMjE5ZmUyYQ==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ ODhhOGM4ZDY4NWM0ZDcyY2ZkOGY4NmVhY2JiMGI1ZGFjYjlkYzg4YjM4YjRl
10
+ NDE3M2NkZjU2ZTViNjZkYzIwZDMwZDhlODZmOGNmNDI1MjY1NjE5NmM0YmJk
11
+ NWNjNDE2ZWJmMTY3ZTU3ZWZhNmM4ZWEzMTk4MTA2NjY0NDNiZTQ=
12
+ data.tar.gz: !binary |-
13
+ NzlhOWYyNTVhMzhkNDJjNjBhZGVmOWViODg1NWUwMWZiNTRiM2E0YThhN2Nj
14
+ ZjE4ZmNiZmM5MGNiM2RlYWMyMTkzOWFlOWI1NWNlMTE4M2Q0MTU4NjhlZjM2
15
+ ODcxMTE2MWViYjEzZjE1NThhN2JkMzg1YWYyNzU5NzhjZmUyZDQ=
data/README.md CHANGED
@@ -22,6 +22,7 @@ Or install it yourself as:
22
22
 
23
23
  ### CLI
24
24
 
25
+ $ allen new [project]
25
26
  TODO: Write CLI usage instructions here
26
27
 
27
28
  ### Rake
data/allen.gemspec CHANGED
@@ -18,8 +18,10 @@ Gem::Specification.new do |gem|
18
18
  gem.add_runtime_dependency(%q<thor>, ["~> 0.16.0"])
19
19
  gem.add_runtime_dependency(%q<i18n>, ["~> 0.6.1"])
20
20
  gem.add_runtime_dependency(%q<active_support>, ["~> 3.0.0"])
21
- gem.add_runtime_dependency(%q<albacore>, ["0.3.4"])
21
+ gem.add_runtime_dependency(%q<albacore>, ["0.3.5"])
22
+ gem.add_runtime_dependency(%q<rubyzip>, ["~> 0.9.0"])
22
23
  gem.add_runtime_dependency(%q<rake>, ["0.9.2.2"])
24
+ gem.add_runtime_dependency(%q<grit>, ["2.5.0"])
23
25
 
24
26
  gem.add_development_dependency(%q<rspec>, ["2.11.0"])
25
27
  gem.add_development_dependency(%q<listen>, ["0.4.7"])
@@ -0,0 +1,49 @@
1
+ require 'grit'
2
+
3
+ module Allen
4
+ class MetaData
5
+ attr_reader :root_dir, :webroot
6
+
7
+ def initialize(settings)
8
+ @root_dir = settings.root_dir
9
+ @webroot = settings.webroot
10
+ end
11
+
12
+ def save!
13
+ file = File.open("#{@webroot}/meta.json","w")
14
+ file.print(self.to_json)
15
+ file.close
16
+ end
17
+
18
+ def to_json
19
+ { :build => build,
20
+ :commit => commit,
21
+ :allen => allen }.to_json
22
+ end
23
+
24
+ def build
25
+ { :date => Time.now.to_s }
26
+ end
27
+
28
+ def commit
29
+ repo = Grit::Repo.new(@root_dir)
30
+ commit = repo.commits.first || NullCommit.new
31
+
32
+ { :id => commit.id,
33
+ :date => commit.committed_date,
34
+ :author => commit.author,
35
+ :message => commit.message }
36
+ end
37
+
38
+ def allen
39
+ { :version => Allen::VERSION }
40
+ end
41
+
42
+ class NullCommit
43
+ def method_missing(*args)
44
+ "xxx"
45
+ end
46
+ end
47
+
48
+ end
49
+ end
@@ -2,6 +2,7 @@ module Allen
2
2
  module Preprocessors
3
3
 
4
4
  def self.for(name)
5
+ name ||= "null"
5
6
  begin
6
7
  const_get(name.capitalize)
7
8
  rescue
@@ -59,6 +60,12 @@ module Allen
59
60
  sh "sass --watch #{input_path}:#{output_path} --style expanded"
60
61
  end
61
62
  end
63
+
64
+ class Null < Preprocessor
65
+ def self.build; end
66
+ def self.compress; end
67
+ def self.watch; end
68
+ end
62
69
  end
63
70
  end
64
71
 
data/lib/allen/project.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'allen/settings'
2
2
  require 'allen/preprocessors'
3
3
  require 'allen/asset_bundle'
4
+ require 'allen/meta_data'
4
5
 
5
6
  module Allen
6
7
  class Project
@@ -48,16 +49,7 @@ module Allen
48
49
  end
49
50
 
50
51
  def generate_meta_data!
51
- #create a version file with the time and the latest git commit
52
- version_file = File.open("#{settings.webroot}/version","w")
53
- version_file.puts "built: #{Time.now.to_s}"
54
- version_file.puts `git log -1`
55
- version_file.close
56
-
57
- #create a commit-hash file with just the last commit hash in it
58
- hash_file = File.open("#{settings.webroot}/commit-hash","w")
59
- hash_file.print `git log -1 --format="%H"`.chomp
60
- hash_file.close
52
+ MetaData.new(settings).save!
61
53
  end
62
54
 
63
55
  end
data/lib/allen/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Allen
2
- VERSION = '0.3.2'
2
+ VERSION = '0.3.3'
3
3
  end
@@ -0,0 +1,66 @@
1
+ require 'allen'
2
+ require 'allen/meta_data'
3
+
4
+ describe Allen::MetaData do
5
+ let(:root_dir) { "/dev/null" }
6
+ let(:webroot) { root_dir + "/the_webroot" }
7
+ let(:settings) { stub(:settings, :root_dir => root_dir, :webroot => webroot) }
8
+ let(:meta_data) { Allen::MetaData.new(settings) }
9
+
10
+ describe "#save!" do
11
+ it "saves the JSON blob to the webroot" do
12
+ meta_data.stub(:to_json).and_return("json blob")
13
+ file = stub(:file)
14
+ File.should_receive(:open).with("/dev/null/the_webroot/meta.json", "w").and_return(file)
15
+ file.should_receive(:print).with(meta_data.to_json)
16
+ file.should_receive(:close)
17
+ meta_data.save!
18
+ end
19
+ end
20
+
21
+ describe "#to_json" do
22
+ it "returns a blob with build and commit information" do
23
+ meta_data.stub(:build).and_return({ :date => "build date" })
24
+ meta_data.stub(:commit).and_return({ :id => "commit id",
25
+ :date => "commit date",
26
+ :author => "commit author",
27
+ :message => "commit message" })
28
+ meta_data.stub(:allen).and_return({ :version => "allen version" })
29
+ meta_data.to_json.should == "{\"build\":{\"date\":\"build date\"},\"commit\":{\"id\":\"commit id\",\"date\":\"commit date\",\"author\":\"commit author\",\"message\":\"commit message\"},\"allen\":{\"version\":\"allen version\"}}"
30
+ end
31
+ end
32
+
33
+ describe "#build" do
34
+ it "includes information about the build" do
35
+ date = stub(:date, :to_s => "build date")
36
+ Time.stub(:now).and_return(date)
37
+ meta_data.build.should == { :date => "build date" }
38
+ end
39
+ end
40
+
41
+ describe "#commit" do
42
+ it "includes information about the most recent commit" do
43
+ repo = stub(:repo, :commits => [stub(:commit, :id => "commit id",
44
+ :committed_date => "commit date",
45
+ :author => "commit author",
46
+ :message => "commit message")])
47
+
48
+ Grit::Repo.should_receive(:new).with("/dev/null").and_return(repo)
49
+
50
+ meta_data.commit.should == { :id => "commit id",
51
+ :date => "commit date",
52
+ :author => "commit author",
53
+ :message => "commit message" }
54
+ end
55
+
56
+ it "includes no information when there are no commits" do
57
+ repo = stub(:repo, :commits => [])
58
+ Grit::Repo.should_receive(:new).with("/dev/null").and_return(repo)
59
+ meta_data.commit.should == { :id => "xxx",
60
+ :date => "xxx",
61
+ :author => "xxx",
62
+ :message => "xxx" }
63
+ end
64
+ end
65
+ end
66
+
@@ -15,17 +15,11 @@ describe Allen::Project do
15
15
  end
16
16
 
17
17
  describe "#generate_meta_data!" do
18
- it "writes the version and hash files" do
18
+ it "saves the meta data" do
19
19
  project = Allen::Project.new
20
-
21
- version_file = stub(:version_file, :puts => stub)
22
- File.should_receive(:open).with(project.settings.webroot + "/version", "w").and_return(version_file)
23
- version_file.should_receive(:close)
24
-
25
- hash_file = stub(:hash_file, :print => stub)
26
- File.should_receive(:open).with(project.settings.webroot + "/commit-hash", "w").and_return(hash_file)
27
- hash_file.should_receive(:close)
28
-
20
+ meta_data = stub(:meta_data, :save! => stub)
21
+ Allen::MetaData.should_receive(:new).with(project.settings).and_return(meta_data)
22
+ meta_data.should_receive(:save!)
29
23
  project.generate_meta_data!
30
24
  end
31
25
  end
@@ -76,6 +70,12 @@ describe Allen::Project do
76
70
  project.css.preprocessor.should == Allen::Preprocessors::Banshee
77
71
  end
78
72
 
73
+ it "can set the css preprocessor to false" do
74
+ project = Allen::Project.new
75
+ project.settings.css_preprocessor false
76
+ project.css.preprocessor.should == Allen::Preprocessors::Null
77
+ end
78
+
79
79
  it "raises when it doesn't know the css preprocessor" do
80
80
  project = Allen::Project.new
81
81
  project.settings.css_preprocessor :pawikwkasdf
@@ -96,6 +96,12 @@ describe Allen::Project do
96
96
  project.js.preprocessor.should == Allen::Preprocessors::Banshee
97
97
  end
98
98
 
99
+ it "can set the js preprocessor to false" do
100
+ project = Allen::Project.new
101
+ project.settings.js_preprocessor false
102
+ project.js.preprocessor.should == Allen::Preprocessors::Null
103
+ end
104
+
99
105
  it "raises when it doesn't know the js preprocessor" do
100
106
  project = Allen::Project.new
101
107
  project.settings.js_preprocessor :fsdfasdfadsf
data/templates/.gitignore CHANGED
@@ -53,8 +53,7 @@ src/[Pp]ackages/
53
53
  .hg
54
54
  .hgignore
55
55
 
56
- version
57
- commit-hash
56
+ src/*.*/meta.json
58
57
  dummy.txt
59
58
 
60
59
  src/*.Umbraco/App_Data/ClientDependency/
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: allen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
5
- prerelease:
4
+ version: 0.3.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - Taylor Smith
@@ -10,12 +9,11 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2013-04-22 00:00:00.000000000 Z
12
+ date: 2013-09-12 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: thor
17
16
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
17
  requirements:
20
18
  - - ~>
21
19
  - !ruby/object:Gem::Version
@@ -23,7 +21,6 @@ dependencies:
23
21
  type: :runtime
24
22
  prerelease: false
25
23
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
24
  requirements:
28
25
  - - ~>
29
26
  - !ruby/object:Gem::Version
@@ -31,7 +28,6 @@ dependencies:
31
28
  - !ruby/object:Gem::Dependency
32
29
  name: i18n
33
30
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
31
  requirements:
36
32
  - - ~>
37
33
  - !ruby/object:Gem::Version
@@ -39,7 +35,6 @@ dependencies:
39
35
  type: :runtime
40
36
  prerelease: false
41
37
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
38
  requirements:
44
39
  - - ~>
45
40
  - !ruby/object:Gem::Version
@@ -47,7 +42,6 @@ dependencies:
47
42
  - !ruby/object:Gem::Dependency
48
43
  name: active_support
49
44
  requirement: !ruby/object:Gem::Requirement
50
- none: false
51
45
  requirements:
52
46
  - - ~>
53
47
  - !ruby/object:Gem::Version
@@ -55,7 +49,6 @@ dependencies:
55
49
  type: :runtime
56
50
  prerelease: false
57
51
  version_requirements: !ruby/object:Gem::Requirement
58
- none: false
59
52
  requirements:
60
53
  - - ~>
61
54
  - !ruby/object:Gem::Version
@@ -63,23 +56,34 @@ dependencies:
63
56
  - !ruby/object:Gem::Dependency
64
57
  name: albacore
65
58
  requirement: !ruby/object:Gem::Requirement
66
- none: false
67
59
  requirements:
68
60
  - - '='
69
61
  - !ruby/object:Gem::Version
70
- version: 0.3.4
62
+ version: 0.3.5
71
63
  type: :runtime
72
64
  prerelease: false
73
65
  version_requirements: !ruby/object:Gem::Requirement
74
- none: false
75
66
  requirements:
76
67
  - - '='
77
68
  - !ruby/object:Gem::Version
78
- version: 0.3.4
69
+ version: 0.3.5
70
+ - !ruby/object:Gem::Dependency
71
+ name: rubyzip
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ~>
75
+ - !ruby/object:Gem::Version
76
+ version: 0.9.0
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ~>
82
+ - !ruby/object:Gem::Version
83
+ version: 0.9.0
79
84
  - !ruby/object:Gem::Dependency
80
85
  name: rake
81
86
  requirement: !ruby/object:Gem::Requirement
82
- none: false
83
87
  requirements:
84
88
  - - '='
85
89
  - !ruby/object:Gem::Version
@@ -87,15 +91,27 @@ dependencies:
87
91
  type: :runtime
88
92
  prerelease: false
89
93
  version_requirements: !ruby/object:Gem::Requirement
90
- none: false
91
94
  requirements:
92
95
  - - '='
93
96
  - !ruby/object:Gem::Version
94
97
  version: 0.9.2.2
98
+ - !ruby/object:Gem::Dependency
99
+ name: grit
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - '='
103
+ - !ruby/object:Gem::Version
104
+ version: 2.5.0
105
+ type: :runtime
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - '='
110
+ - !ruby/object:Gem::Version
111
+ version: 2.5.0
95
112
  - !ruby/object:Gem::Dependency
96
113
  name: rspec
97
114
  requirement: !ruby/object:Gem::Requirement
98
- none: false
99
115
  requirements:
100
116
  - - '='
101
117
  - !ruby/object:Gem::Version
@@ -103,7 +119,6 @@ dependencies:
103
119
  type: :development
104
120
  prerelease: false
105
121
  version_requirements: !ruby/object:Gem::Requirement
106
- none: false
107
122
  requirements:
108
123
  - - '='
109
124
  - !ruby/object:Gem::Version
@@ -111,7 +126,6 @@ dependencies:
111
126
  - !ruby/object:Gem::Dependency
112
127
  name: listen
113
128
  requirement: !ruby/object:Gem::Requirement
114
- none: false
115
129
  requirements:
116
130
  - - '='
117
131
  - !ruby/object:Gem::Version
@@ -119,7 +133,6 @@ dependencies:
119
133
  type: :development
120
134
  prerelease: false
121
135
  version_requirements: !ruby/object:Gem::Requirement
122
- none: false
123
136
  requirements:
124
137
  - - '='
125
138
  - !ruby/object:Gem::Version
@@ -127,7 +140,6 @@ dependencies:
127
140
  - !ruby/object:Gem::Dependency
128
141
  name: guard
129
142
  requirement: !ruby/object:Gem::Requirement
130
- none: false
131
143
  requirements:
132
144
  - - '='
133
145
  - !ruby/object:Gem::Version
@@ -135,7 +147,6 @@ dependencies:
135
147
  type: :development
136
148
  prerelease: false
137
149
  version_requirements: !ruby/object:Gem::Requirement
138
- none: false
139
150
  requirements:
140
151
  - - '='
141
152
  - !ruby/object:Gem::Version
@@ -143,7 +154,6 @@ dependencies:
143
154
  - !ruby/object:Gem::Dependency
144
155
  name: guard-rspec
145
156
  requirement: !ruby/object:Gem::Requirement
146
- none: false
147
157
  requirements:
148
158
  - - '='
149
159
  - !ruby/object:Gem::Version
@@ -151,7 +161,6 @@ dependencies:
151
161
  type: :development
152
162
  prerelease: false
153
163
  version_requirements: !ruby/object:Gem::Requirement
154
- none: false
155
164
  requirements:
156
165
  - - '='
157
166
  - !ruby/object:Gem::Version
@@ -159,7 +168,6 @@ dependencies:
159
168
  - !ruby/object:Gem::Dependency
160
169
  name: growl
161
170
  requirement: !ruby/object:Gem::Requirement
162
- none: false
163
171
  requirements:
164
172
  - - '='
165
173
  - !ruby/object:Gem::Version
@@ -167,7 +175,6 @@ dependencies:
167
175
  type: :development
168
176
  prerelease: false
169
177
  version_requirements: !ruby/object:Gem::Requirement
170
- none: false
171
178
  requirements:
172
179
  - - '='
173
180
  - !ruby/object:Gem::Version
@@ -194,6 +201,7 @@ files:
194
201
  - lib/allen/asset_bundle.rb
195
202
  - lib/allen/cli.rb
196
203
  - lib/allen/dsl.rb
204
+ - lib/allen/meta_data.rb
197
205
  - lib/allen/preprocessors.rb
198
206
  - lib/allen/project.rb
199
207
  - lib/allen/projects/static_project.rb
@@ -204,6 +212,7 @@ files:
204
212
  - lib/allen/version.rb
205
213
  - lib/settings.rb
206
214
  - spec/lib/allen/dsl_spec.rb
215
+ - spec/lib/allen/meta_data_spec.rb
207
216
  - spec/lib/allen/preprocessors_spec.rb
208
217
  - spec/lib/allen/project_spec.rb
209
218
  - spec/lib/allen/rake_spec.rb
@@ -239,36 +248,30 @@ files:
239
248
  - templates/src/.nuget/NuGet.targets
240
249
  homepage: http://github.com/imulus/allen
241
250
  licenses: []
251
+ metadata: {}
242
252
  post_install_message:
243
253
  rdoc_options: []
244
254
  require_paths:
245
255
  - lib
246
256
  required_ruby_version: !ruby/object:Gem::Requirement
247
- none: false
248
257
  requirements:
249
258
  - - ! '>='
250
259
  - !ruby/object:Gem::Version
251
260
  version: '0'
252
- segments:
253
- - 0
254
- hash: 2693480632637319814
255
261
  required_rubygems_version: !ruby/object:Gem::Requirement
256
- none: false
257
262
  requirements:
258
263
  - - ! '>='
259
264
  - !ruby/object:Gem::Version
260
265
  version: '0'
261
- segments:
262
- - 0
263
- hash: 2693480632637319814
264
266
  requirements: []
265
267
  rubyforge_project:
266
- rubygems_version: 1.8.23
268
+ rubygems_version: 2.0.3
267
269
  signing_key:
268
- specification_version: 3
270
+ specification_version: 4
269
271
  summary: CLI and Rake tools for quickly building and managing Umbraco projects
270
272
  test_files:
271
273
  - spec/lib/allen/dsl_spec.rb
274
+ - spec/lib/allen/meta_data_spec.rb
272
275
  - spec/lib/allen/preprocessors_spec.rb
273
276
  - spec/lib/allen/project_spec.rb
274
277
  - spec/lib/allen/rake_spec.rb