assetify 0.4.0 → 0.7.0.rc1

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/README.md CHANGED
@@ -54,7 +54,7 @@ in handy:
54
54
  end
55
55
 
56
56
 
57
- This will install as "public/javascripts/forms/validator.js"
57
+ This will install as "vendor/assets/javascripts/forms/validator.js"
58
58
 
59
59
  You can nest groups too:
60
60
 
@@ -93,6 +93,7 @@ Results in:
93
93
  Also, please check out the note about link inside pkgs below.
94
94
 
95
95
 
96
+
96
97
  Dir
97
98
  ___
98
99
 
@@ -114,6 +115,8 @@ Note: Have in mind that the "link" inside dir/packages *is a regex*
114
115
  that returns the *first match* inside the archive. Check out libarchive
115
116
  or the pkg.rb source for more info.
116
117
 
118
+
119
+
117
120
  Other
118
121
  -----
119
122
 
@@ -132,10 +135,10 @@ Options
132
135
 
133
136
  Change some default settings:
134
137
 
135
- newname true || false
136
- jspath "public/javascripts"
137
- csspath "public/stylesheets"
138
- imgpath "public/images"
138
+ newname true || false
139
+ javascripts "public/javascripts"
140
+ stylesheets "public/stylesheets"
141
+ images "public/images"
139
142
 
140
143
  If newname is set to true (default) the file will be renamed. Ex:
141
144
 
@@ -145,6 +148,13 @@ Filename will be: "validator.js"
145
148
 
146
149
 
147
150
 
151
+ Rails
152
+ -----
153
+
154
+ Out of the box support for rails 3.1, defaults to 'vendor/assets'.
155
+ Rails 3.0< users should change the options as above.
156
+
157
+
148
158
 
149
159
  Contributing
150
160
  ------------
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.0
1
+ 0.7.0.rc1
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{assetify}
8
- s.version = "0.4.0"
8
+ s.version = "0.7.0.rc1"
9
9
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
10
+ s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Marcos Piccinini"]
12
- s.date = %q{2011-06-30}
12
+ s.date = %q{2011-07-14}
13
13
  s.default_executable = %q{assetify}
14
14
  s.description = %q{Downloads/updates assets based on a Jsfile. Any framework.}
15
15
  s.email = %q{x@nofxx.com}
@@ -24,7 +24,7 @@ BANNER
24
24
 
25
25
 
26
26
  o.on('-h', "Show help") { puts o; exit }
27
- o.on('-d', "Verbose (Debug)") { Opt[:debug] = true }
27
+ o.on('-d', "Verbose (Debug)") { Assetify::Opt[:debug] = true }
28
28
  o.parse!
29
29
  end
30
30
 
@@ -1,28 +1,32 @@
1
- require "assetify/colored"
2
- require "assetify/helpers"
3
- require "assetify/asset"
4
1
  require "assetify/tui"
5
- require "assetify/dsl"
6
- require "assetify/pkg"
7
-
8
2
  module Assetify
9
3
 
4
+ Opt = {
5
+ :vendor => "public/vendor",
6
+ :newname => true
7
+ }
8
+
10
9
  TSIZE = 80
11
- LINE = TUI.new
10
+ LINE = TUI.new
11
+ ASSETS_PATH = "vendor/assets"
12
12
  ASSETS = [:javascripts, :stylesheets, :images]
13
+ ASSETS.each do |asset|
14
+ Opt.merge!(asset => "#{ASSETS_PATH}/#{asset}")
15
+ end
13
16
 
14
17
  class NoJSFile < StandardError
15
18
  end
19
+ end
16
20
 
17
- Opt = {
18
- :jspath => "public/javascripts",
19
- :csspath => "public/stylesheets",
20
- :imgpath => "public/images",
21
- :vendor => "public/vendor",
22
- :newname => true
23
- }
21
+ require "assetify/colored"
22
+ require "assetify/helpers"
23
+ require "assetify/asset"
24
+ require "assetify/path"
25
+ require "assetify/dsl"
26
+ require "assetify/pkg"
24
27
 
25
28
 
29
+ module Assetify
26
30
  class << self
27
31
 
28
32
  #
@@ -104,6 +108,7 @@ TXT
104
108
  puts "-" * TSIZE
105
109
  end
106
110
 
111
+
107
112
  def work!(params)
108
113
  start = Time.now
109
114
  puts "Assetify"
@@ -25,9 +25,17 @@ module Assetify
25
25
  @filename
26
26
  end
27
27
 
28
+ def find_path_for txt
29
+ case txt
30
+ when /js/ then :javascripts
31
+ when /css|style/ then :stylesheets
32
+ else :images
33
+ end
34
+ end
35
+
28
36
  def path
29
37
  args = if @to.empty?
30
- tpath = Opt["#{type}path".to_sym]
38
+ tpath = Opt[find_path_for(type)]
31
39
  raise "Don`t know where to put #{type} files..." unless tpath
32
40
  [tpath, @ns ? @ns.to_s : ""]
33
41
  else
@@ -40,6 +40,13 @@ module Assetify
40
40
  end
41
41
  end
42
42
 
43
+ # Create assets path setters
44
+ Assetify::ASSETS.each do |asset|
45
+ define_method asset do |path|
46
+ Opt[asset] = path
47
+ end
48
+ end
49
+
43
50
  #
44
51
  # js "foo", "http://foo.com"
45
52
  # js "foo", "http://foo.com", :to => "/other/place"
@@ -16,7 +16,7 @@ describe Asset do
16
16
  end
17
17
 
18
18
  it "should have fullpath" do
19
- as.fullpath.should eql("public/javascripts/sweet.js")
19
+ as.fullpath.should eql("vendor/assets/javascripts/sweet.js")
20
20
  end
21
21
 
22
22
  it "should detect version" do
@@ -5,19 +5,19 @@ describe DSL do
5
5
  it "should parse js nicely" do
6
6
  a = Assetify::DSL.parse("js 'foo', 'foolink'")[0]
7
7
  a.should be_an Asset
8
- a.fullpath.should eql("public/javascripts/foo.js")
8
+ a.fullpath.should eql("vendor/assets/javascripts/foo.js")
9
9
  end
10
10
 
11
11
  it "should parse css nicely" do
12
12
  a = Assetify::DSL.parse("css 'foo', 'foolink'")[0]
13
13
  a.should be_an Asset
14
- a.fullpath.should eql("public/stylesheets/foo.css")
14
+ a.fullpath.should eql("vendor/assets/stylesheets/foo.css")
15
15
  end
16
16
 
17
17
  it "should parse img nicely (gif)" do
18
18
  a = Assetify::DSL.parse("img 'foo.gif', 'foolink'")[0]
19
19
  a.should be_an Asset
20
- a.fullpath.should eql("public/images/foo.gif")
20
+ a.fullpath.should eql("vendor/assets/images/foo.gif")
21
21
  end
22
22
 
23
23
  it "should accept a especific location with :to" do
@@ -38,25 +38,25 @@ describe DSL do
38
38
  it "should group and use a namespace" do
39
39
  a = Assetify::DSL.parse "group 'common' do; js 'foo', 'foolink'; end"
40
40
  a[0].should be_an Asset
41
- a[0].fullpath.should eql("public/javascripts/common/foo.js")
41
+ a[0].fullpath.should eql("vendor/assets/javascripts/common/foo.js")
42
42
  end
43
43
 
44
44
  it "should group and use a namespace 2" do
45
45
  a = Assetify::DSL.parse "group 'common' do; js 'foo', 'foolink'; js 'rock', 'rocklink'; end"
46
46
  a[0].should be_an Asset
47
- a[0].fullpath.should eql("public/javascripts/common/foo.js")
47
+ a[0].fullpath.should eql("vendor/assets/javascripts/common/foo.js")
48
48
  end
49
49
 
50
50
  it "should go back to root" do
51
51
  a = Assetify::DSL.parse "group 'common' do; js 'foo', 'foolink'; end; js 'rock', 'rocklink'"
52
52
  a[1].should be_an Asset
53
- a[1].fullpath.should eql("public/javascripts/rock.js")
53
+ a[1].fullpath.should eql("vendor/assets/javascripts/rock.js")
54
54
  end
55
55
 
56
56
  it "should work with nested namespaces" do
57
57
  a = Assetify::DSL.parse "group 'common' do; group 'nice' do; js 'foo', 'foolink'; end; end"
58
58
  a[0].should be_an Asset
59
- a[0].fullpath.should eql("public/javascripts/common/nice/foo.js")
59
+ a[0].fullpath.should eql("vendor/assets/javascripts/common/nice/foo.js")
60
60
  end
61
61
 
62
62
  end
@@ -66,19 +66,19 @@ describe DSL do
66
66
  it "should group and use a namespace" do
67
67
  a = Assetify::DSL.parse "pkg 'fancy', 'http://fancy.zip' do; js 'foo', 'foolink'; end"
68
68
  a[0].should be_an Asset
69
- a[0].fullpath.should eql("public/javascripts/fancy/foo.js")
69
+ a[0].fullpath.should eql("vendor/assets/javascripts/fancy/foo.js")
70
70
  end
71
71
 
72
72
  it "should accept shallow too" do
73
73
  a = Assetify::DSL.parse "pkg 'fancy', 'http://fancy.zip', :shallow => true do; js 'foo', 'foolink'; end"
74
74
  a[0].should be_an Asset
75
- a[0].fullpath.should eql("public/javascripts/foo.js")
75
+ a[0].fullpath.should eql("vendor/assets/javascripts/foo.js")
76
76
  end
77
77
 
78
78
  it "should fetch inside archive" do
79
79
  a = Assetify::DSL.parse "pkg 'fancy', 'http://fancy.zip' do; js 'foo', 'foolink'; end"
80
80
  a[0].should be_an Asset
81
- a[0].fullpath.should eql("public/javascripts/fancy/foo.js")
81
+ a[0].fullpath.should eql("vendor/assets/javascripts/fancy/foo.js")
82
82
  end
83
83
 
84
84
  it "should unpack to vendor if no block given" do
@@ -103,7 +103,19 @@ describe DSL do
103
103
  as[0].fullpath.should eql("/home/nofxx/git/assetify/images/complex/two.png")
104
104
  end
105
105
 
106
+ end
107
+
108
+ describe "Paths" do
106
109
 
110
+ it "should change js path" do
111
+ Assetify::DSL.parse "javascripts 'other/foo'"
112
+ Opt[:javascripts].should eql('other/foo')
113
+ end
114
+
115
+ it "should change css path" do
116
+ Assetify::DSL.parse "stylesheets 'other/foo'"
117
+ Opt[:javascripts].should eql('other/foo')
118
+ end
107
119
  end
108
120
 
109
121
  end
@@ -35,7 +35,7 @@ describe Pkg do
35
35
  as = Pkg.new "complex", "/tmp/complex/complex.tgz"
36
36
  as.unpack_to_vendor #.should be_a Hash #(hash_including "complex/images/3.png"=>"Im a png image..3\n")
37
37
  File.exists?("public/vendor/complex/src/main.js").should be_true
38
- `rm -rf public/vendor`
38
+ `rm -rf vendor/assets/vendor`
39
39
  end
40
40
 
41
41
  end
@@ -32,7 +32,7 @@ describe Assetify do
32
32
  end
33
33
 
34
34
  it "should have fullpath" do
35
- asset.fullpath.should eql("public/stylesheets/grid.css")
35
+ asset.fullpath.should eql("vendor/assets/stylesheets/grid.css")
36
36
  end
37
37
 
38
38
  end
@@ -58,7 +58,7 @@ describe Assetify do
58
58
  end
59
59
 
60
60
  it "should have fullpath" do
61
- asset.fullpath.should eql("public/javascripts/cool.js")
61
+ asset.fullpath.should eql("vendor/assets/javascripts/cool.js")
62
62
  end
63
63
 
64
64
 
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: assetify
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ prerelease: true
5
5
  segments:
6
6
  - 0
7
- - 4
7
+ - 7
8
8
  - 0
9
- version: 0.4.0
9
+ - rc1
10
+ version: 0.7.0.rc1
10
11
  platform: ruby
11
12
  authors:
12
13
  - Marcos Piccinini
@@ -14,7 +15,7 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2011-06-30 00:00:00 -03:00
18
+ date: 2011-07-14 00:00:00 -03:00
18
19
  default_executable: assetify
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
@@ -121,18 +122,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
121
122
  requirements:
122
123
  - - ">="
123
124
  - !ruby/object:Gem::Version
124
- hash: -3303407953126557976
125
+ hash: -1037575616706131439
125
126
  segments:
126
127
  - 0
127
128
  version: "0"
128
129
  required_rubygems_version: !ruby/object:Gem::Requirement
129
130
  none: false
130
131
  requirements:
131
- - - ">="
132
+ - - ">"
132
133
  - !ruby/object:Gem::Version
133
134
  segments:
134
- - 0
135
- version: "0"
135
+ - 1
136
+ - 3
137
+ - 1
138
+ version: 1.3.1
136
139
  requirements: []
137
140
 
138
141
  rubyforge_project: