rego-js-builder 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.0.2
@@ -2,10 +2,18 @@ require 'yaml'
2
2
 
3
3
  class JsProjectBuilder
4
4
  attr_reader :name, :description,
5
- :dist_file_name, :dist_file_path, :dist_min_file_path, :dist_pack_file_path
5
+ :dist_file_name, :dist_file_path, :dist_min_file_path, :dist_pack_file_path,
6
+ :js_files
6
7
 
7
8
  def initialize(options = {})
8
- @options = {:dist_dir => 'dist', :license_file => 'license.txt', :version_file_path => 'version.yml'}.update(options)
9
+ @options = {
10
+ :dist_dir => 'dist',
11
+ :src_dir => 'src',
12
+ :sass => false,
13
+ :sass_dir => 'src/sass',
14
+ :license_file => 'license.txt',
15
+ :version_file_path => 'version.yml'
16
+ }.update(options)
9
17
 
10
18
  @name = @options[:name]
11
19
  @description = @options[:description]
@@ -13,16 +21,25 @@ class JsProjectBuilder
13
21
  @dist_file_path = File.join(dist_dir, dist_file_name)
14
22
  @dist_min_file_path = @dist_file_path.ext('min.js')
15
23
  @dist_pack_file_path = @dist_file_path.ext('pack.js')
24
+ @js_files = @options[:js_files].collect{|name| File.join(self.src_dir, name)}
16
25
 
17
26
  @version_yml = YAML::load(File.open(@options[:version_file_path]))
18
27
  end
19
28
 
29
+ def src_dir
30
+ @options[:src_dir]
31
+ end
32
+
20
33
  def dist_dir
21
34
  @options[:dist_dir]
22
35
  end
23
36
 
24
- def js_files
25
- @options[:js_files]
37
+ def sass_dir
38
+ @options[:sass_dir]
39
+ end
40
+
41
+ def sass?
42
+ @options[:sass]
26
43
  end
27
44
 
28
45
  def license_file
@@ -13,7 +13,7 @@ class JsProjectBuilder
13
13
 
14
14
  private
15
15
  def define
16
- task :default => [:clobber, :pack]
16
+ task :default => [:clobber, :pack] + (project_builder.sass? ? [:css] : [])
17
17
 
18
18
  directory project_builder.dist_dir
19
19
 
@@ -77,6 +77,17 @@ class JsProjectBuilder
77
77
  File.delete(pack_min_file)
78
78
  end
79
79
 
80
+ desc 'Create css from sass files (src/sass)'
81
+ task :css => :prepare do
82
+ puts "Creating css files..."
83
+ sh "sass -C --update #{project_builder.sass_dir}:#{project_builder.dist_dir}/css" do |ok, output|
84
+ ok or fail "Error running sass on #{project_builder.sass_dir}. \n #{output}"
85
+ end
86
+
87
+ puts "Copying css images..."
88
+ cp_r "#{project_builder.sass_dir}/images", "#{project_builder.dist_dir}/css"
89
+ end
90
+
80
91
  namespace :version do
81
92
  desc "Displays the current version"
82
93
  task :current do
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "rego-js-builder"
8
- s.version = "0.0.1"
8
+ s.version = "0.0.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Alex Tkachev"]
12
- s.date = "2011-12-02"
12
+ s.date = "2011-12-12"
13
13
  s.description = "Build tasks for git js projects"
14
14
  s.email = "tkachev.alex@gmail.com"
15
15
  s.extra_rdoc_files = [
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rego-js-builder
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 1
10
- version: 0.0.1
9
+ - 2
10
+ version: 0.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Alex Tkachev
@@ -15,10 +15,10 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-12-02 00:00:00 Z
18
+ date: 2011-12-12 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
- requirement: &id001 !ruby/object:Gem::Requirement
21
+ version_requirements: &id001 !ruby/object:Gem::Requirement
22
22
  none: false
23
23
  requirements:
24
24
  - - ~>
@@ -29,12 +29,12 @@ dependencies:
29
29
  - 3
30
30
  - 0
31
31
  version: 2.3.0
32
- version_requirements: *id001
33
32
  name: rspec
34
33
  prerelease: false
35
34
  type: :development
35
+ requirement: *id001
36
36
  - !ruby/object:Gem::Dependency
37
- requirement: &id002 !ruby/object:Gem::Requirement
37
+ version_requirements: &id002 !ruby/object:Gem::Requirement
38
38
  none: false
39
39
  requirements:
40
40
  - - ~>
@@ -45,12 +45,12 @@ dependencies:
45
45
  - 0
46
46
  - 0
47
47
  version: 1.0.0
48
- version_requirements: *id002
49
48
  name: bundler
50
49
  prerelease: false
51
50
  type: :development
51
+ requirement: *id002
52
52
  - !ruby/object:Gem::Dependency
53
- requirement: &id003 !ruby/object:Gem::Requirement
53
+ version_requirements: &id003 !ruby/object:Gem::Requirement
54
54
  none: false
55
55
  requirements:
56
56
  - - ~>
@@ -61,12 +61,12 @@ dependencies:
61
61
  - 6
62
62
  - 4
63
63
  version: 1.6.4
64
- version_requirements: *id003
65
64
  name: jeweler
66
65
  prerelease: false
67
66
  type: :development
67
+ requirement: *id003
68
68
  - !ruby/object:Gem::Dependency
69
- requirement: &id004 !ruby/object:Gem::Requirement
69
+ version_requirements: &id004 !ruby/object:Gem::Requirement
70
70
  none: false
71
71
  requirements:
72
72
  - - ">="
@@ -75,12 +75,12 @@ dependencies:
75
75
  segments:
76
76
  - 0
77
77
  version: "0"
78
- version_requirements: *id004
79
78
  name: rcov
80
79
  prerelease: false
81
80
  type: :development
81
+ requirement: *id004
82
82
  - !ruby/object:Gem::Dependency
83
- requirement: &id005 !ruby/object:Gem::Requirement
83
+ version_requirements: &id005 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ">="
@@ -89,12 +89,12 @@ dependencies:
89
89
  segments:
90
90
  - 0
91
91
  version: "0"
92
- version_requirements: *id005
93
92
  name: rdoc
94
93
  prerelease: false
95
94
  type: :development
95
+ requirement: *id005
96
96
  - !ruby/object:Gem::Dependency
97
- requirement: &id006 !ruby/object:Gem::Requirement
97
+ version_requirements: &id006 !ruby/object:Gem::Requirement
98
98
  none: false
99
99
  requirements:
100
100
  - - ">="
@@ -103,10 +103,10 @@ dependencies:
103
103
  segments:
104
104
  - 0
105
105
  version: "0"
106
- version_requirements: *id006
107
106
  name: rego-ruby-ext
108
107
  prerelease: false
109
108
  type: :development
109
+ requirement: *id006
110
110
  description: Build tasks for git js projects
111
111
  email: tkachev.alex@gmail.com
112
112
  executables: []