bootstrap_v3 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8fe905258251ee391d5da1fb6781b987f6d01966
4
- data.tar.gz: de61b5d83d978b4a1f5a6a93fe47cf2955236501
3
+ metadata.gz: 0d34fd647849f30435ef3d566dc90223e1a3f470
4
+ data.tar.gz: 82e63cb6c144e2ce69a064d67f55a70c34009c0b
5
5
  SHA512:
6
- metadata.gz: 357c97e4872b1eef1f3470ab7253911cfb939e5e8cfb733b95f445d9268156ae810ceabfd5ba6ebc338968718c80ce2cc93b0e9ebce448d544955a8856e21e44
7
- data.tar.gz: f89e620a4db93c966049e810dd532ee5eb66342d7f761c491a53d2c3f07fe21d601f9619bcbb22f441390ebb41cc7ad0260e3600d41b0faab61f97f620211783
6
+ metadata.gz: 83d6d2f99effdd7b6586f7bc4934c4f5c3653acb5cc8c5269c6757bd3d6076f49df9404c74e829b4ffd83758aad1b061acd98524aa17434e5f03f5f6d5e07bbe
7
+ data.tar.gz: d4e2f0d015a0bba0fa306317c73021f5fc80e003abe1df5cb207fdf2da84464235f7df1dfe15a349e4f4da44575cba7b34f3eb7744a08e65904b9aa5b7b0e4eb
data/bootstrap.thor ADDED
@@ -0,0 +1,149 @@
1
+ require 'pry'
2
+ require 'fileutils'
3
+ require 'git'
4
+ require 'logger'
5
+ require 'json'
6
+
7
+ class Bootstrap < Thor
8
+ include Thor::Actions
9
+
10
+ REPO_URI = "https://github.com/twbs/bootstrap.git"
11
+
12
+ desc "update", "fetch Bootstrap code from git"
13
+ method_option :branch, default: "master"
14
+
15
+ def update
16
+ if File.directory? working_dir
17
+ say_status "MESSAGE", "WORKING DIR EXIST"
18
+ pull
19
+ else
20
+ say_status "MESSAGE", "THERE IS NO WORKING DIR"
21
+ prepare
22
+ clone
23
+ end
24
+
25
+ parse_version
26
+ copy_files
27
+ generate_templates
28
+ end
29
+
30
+ no_commands do
31
+
32
+ def clone
33
+ say_status "STEP", "CLONE REPO"
34
+ Dir.chdir working_dir
35
+
36
+ git = Git.clone(REPO_URI, 'bootstrap_v3')
37
+ end
38
+
39
+ def pull
40
+ say_status "STEP", "PULL REPO"
41
+ git = Git.open(git_root, :log => Logger.new(STDOUT))
42
+ git.pull
43
+ end
44
+
45
+ def parse_version
46
+ say_status "STEP", "PARSE VERSION"
47
+ Dir.chdir git_root
48
+
49
+ component = JSON.parse( IO.read('component.json'), :quirks_mode => true)
50
+ version = component["version"]
51
+
52
+ version_file = source_root + "lib/bootstrap/v3/rails/version.rb"
53
+
54
+ gsub_file version_file, /(?<=VERSION = \")(.+)(?=\")/, version
55
+ end
56
+
57
+ def copy_files
58
+ say_status "STEP", "COPY FILES"
59
+
60
+ # STYLESHEETS
61
+ stylesheets_path = "vendor/assets/stylesheets/bootstrap_v3/"
62
+ run "rsync -avm --include='*.less' --include='*.css' -f 'hide,! */' #{git_root + 'src/'} #{source_root + stylesheets_path}"
63
+
64
+ # JAVASCRIPTS
65
+ javascripts_path = "vendor/assets/javascripts/bootstrap_v3/"
66
+ run "rsync -avm --include='*.js' -f 'hide,! */' #{git_root + 'src/'} #{source_root + javascripts_path}"
67
+
68
+ # FONTS
69
+ fonts_path = "vendor/assets/fonts/bootstrap_v3"
70
+ run "rsync -avm --include='*.*' -f 'hide,! */' #{git_root + 'src/fonts/'} #{source_root + fonts_path}"
71
+ end
72
+
73
+ def generate_templates
74
+ # JAVASCRIPTS
75
+ say_status "STEP", "GENERATE JAVASCRIPT TEMPLATE"
76
+ js_template_path = source_root + "lib/generators/bootstrap/install/templates/bootstrap_v3.js"
77
+
78
+ javascripts_path = Pathname.new(source_root + "vendor/assets/javascripts/bootstrap_v3")
79
+
80
+ FileUtils.rm js_template_path
81
+
82
+ File.open(js_template_path, 'a') do |template|
83
+ Dir.glob(source_root + javascripts_path + "**/*") do |file|
84
+ next if File.directory? file
85
+
86
+ filepath = Pathname.new(file)
87
+
88
+ relative_path = filepath.relative_path_from(javascripts_path)
89
+
90
+ template.write "//= require bootstrap_v3/#{relative_path} \n"
91
+ end
92
+ end
93
+
94
+ # STYLESHEETS
95
+ say_status "STEP", "GENERATE STYLESHEETS TEMPLATES"
96
+ css_template_path = source_root + "lib/generators/bootstrap/install/templates/bootstrap_v3/"
97
+
98
+ stylesheets_path = Pathname.new(source_root + "vendor/assets/stylesheets/bootstrap_v3")
99
+
100
+ FileUtils.rm_rf Dir.glob css_template_path + "*.*"
101
+
102
+ Dir.glob stylesheets_path + "**/*" do |file|
103
+ if File.directory? file
104
+ File.open(css_template_path + (Pathname.new(file).basename.to_s + ".less"), 'a') do |template|
105
+ Dir.glob(stylesheets_path + file + "**/*") do |file|
106
+ next if File.directory? file
107
+
108
+ filepath = Pathname.new(file)
109
+
110
+ relative_path = filepath.relative_path_from(stylesheets_path)
111
+
112
+ template.write "@import 'bootstrap_v3/#{relative_path}'; \n"
113
+ end
114
+ end
115
+ end
116
+ end
117
+ end
118
+
119
+ def clean
120
+ say_status "MESSAGE", "DELETE WORKING DIR"
121
+ FileUtils.rm_rf 'tmp/updater'
122
+ end
123
+
124
+ def prepare
125
+ say_status "MESSAGE", "CREATE WORKING DIR"
126
+ FileUtils.mkdir_p 'tmp/updater'
127
+ end
128
+
129
+
130
+ # dirs
131
+
132
+ def self.source_root
133
+ File.dirname(__FILE__)
134
+ end
135
+
136
+ def git_root
137
+ working_dir + 'bootstrap_v3'
138
+ end
139
+
140
+ def working_dir
141
+ source_root + 'tmp/updater'
142
+ end
143
+
144
+ def source_root
145
+ Pathname.new File.dirname(__FILE__)
146
+ end
147
+
148
+ end
149
+ end
@@ -1,7 +1,7 @@
1
1
  module Bootstrap
2
2
  module V3
3
3
  module Rails
4
- VERSION = "0.0.1"
4
+ VERSION = "0.0.2"
5
5
  end
6
6
  end
7
7
  end
@@ -8,7 +8,7 @@ module Bootstrap
8
8
 
9
9
  def add_assets
10
10
  # copy js manifest
11
- js_manifest = 'app/assets/javascripts/bootstrap.js'
11
+ js_manifest = 'app/assets/javascripts/bootstrap_v3.js'
12
12
 
13
13
  if File.exist?(js_manifest)
14
14
  puts <<-EOM
@@ -16,7 +16,7 @@ module Bootstrap
16
16
  #{js_manifest} exist; skipping
17
17
  EOM
18
18
  else
19
- copy_file "bootstrap.js", "app/assets/javascripts/bootstrap.js"
19
+ copy_file "bootstrap.js", "app/assets/javascripts/bootstrap_v3.js"
20
20
  end
21
21
 
22
22
  # copy less manifests
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bootstrap_v3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - AmirolAhmad
@@ -105,6 +105,7 @@ files:
105
105
  - LICENSE
106
106
  - README.md
107
107
  - Rakefile
108
+ - bootstrap.thor
108
109
  - bootstrap_v3.gemspec
109
110
  - lib/bootstrap/v3/rails.rb
110
111
  - lib/bootstrap/v3/rails/engine.rb