hamlit-rails 0.1.0 → 0.2.0

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: fca344c31d639d38aec24ea6010a7c873c4abd87
4
- data.tar.gz: 9ff7c5782883541e345687be15f35c0d07af1005
3
+ metadata.gz: 923d6da52faf432fa8b046d53e4f0435a5a8eb13
4
+ data.tar.gz: 26557c042b45dae2630b089571232df258171759
5
5
  SHA512:
6
- metadata.gz: a766c4f7f79bba4e8683065fcc65e3275d6180b26bbc7902182017a292341dbcc48e92968fba060a0f13435c7282f2a2f9ae24fc0cf0a63b587b67c9a3d9fefa
7
- data.tar.gz: 279a5b4c3d98b202be418de52d6448daf17bbd878abb9d8a6e59d20871ac9ad41c568ded8895b5b549344a7daeaefb16177753f29507fdd116ef8fb5f658f9ef
6
+ metadata.gz: ca729828bcca46845c7c0d49869c383a28bd52aca73b41cf297da5ff645b0d46b5068b62c6eeef08c80d51f7686c1c065e5c8e1d2376fe37e7c902ae2aa91a0a
7
+ data.tar.gz: 83bfb82d25c4d3a31c013f6156f46d935553a66d194ca67c9e22cfc894c44a330694ddc467589d8be55628b71087cf316ae347ceb066e5c311015a03a28908d4
@@ -10,4 +10,7 @@ gemfile:
10
10
  - gemfiles/rails_4_1.gemfile
11
11
  - gemfiles/rails_4_2.gemfile
12
12
  - gemfiles/rails_latest.gemfile
13
- script: "bundle exec rake test"
13
+ addons:
14
+ code_climate:
15
+ repo_token: b310674f6c6c6e6b425087fd4bfd38b2f6def3afc8db24009ad23372140d0ef4
16
+ script: "bundle exec rake test"
data/README.md CHANGED
@@ -1,10 +1,10 @@
1
1
  Hamlit-rails
2
2
  ============
3
3
 
4
- [![Build Status](https://travis-ci.org/mfung/hamlit-rails.svg)](https://travis-ci.org/mfung/hamlit-rails)
4
+ [![Build Status](https://travis-ci.org/mfung/hamlit-rails.svg)](https://travis-ci.org/mfung/hamlit-rails) [![Gem Version](https://badge.fury.io/rb/hamlit-rails.svg)](http://badge.fury.io/rb/hamlit-rails) [![Code Climate](https://codeclimate.com/github/mfung/hamlit-rails/badges/gpa.svg)](https://codeclimate.com/github/mfung/hamlit-rails) [![Test Coverage](https://codeclimate.com/github/mfung/hamlit-rails/badges/coverage.svg)](https://codeclimate.com/github/mfung/hamlit-rails/coverage)
5
5
 
6
6
  Provides hamlit generators for Rails 4. It also enables hamlit as the templating
7
- engine.
7
+ engine and "hamlit:html2haml" rake task that converts erb files to haml.
8
8
 
9
9
  ## Installation
10
10
 
@@ -25,7 +25,9 @@ Gem::Specification.new do |spec|
25
25
  spec.add_runtime_dependency "railties", ">= 4.0.1"
26
26
 
27
27
  spec.add_development_dependency "bundler", "~> 1.9"
28
+ spec.add_development_dependency "html2haml", ">= 2.0.0"
28
29
  spec.add_development_dependency "rake", "~> 10.0"
29
30
  spec.add_development_dependency "rails", ">= 4.0.1"
30
31
  spec.add_development_dependency "appraisal", "~> 1.0"
32
+ spec.add_development_dependency "codeclimate-test-reporter", ">= 0.4.7"
31
33
  end
@@ -48,6 +48,10 @@ module Haml
48
48
  end
49
49
  end
50
50
  end
51
+
52
+ rake_tasks do
53
+ load 'hamlit-rails/erb2haml.rake'
54
+ end
51
55
  end
52
56
  end
53
57
  end
@@ -0,0 +1,69 @@
1
+ namespace :hamlit do
2
+ desc 'Convert erb to haml in app/views'
3
+ task :erb2haml do
4
+ begin
5
+ gem 'html2haml'
6
+ rescue LoadError
7
+ puts "html2haml gem is not part of the bundle."
8
+ puts "`rake hamlit:erb2haml` requires html2haml gem to convert erb files."
9
+ puts
10
+ puts "Please add html2haml gem temporarily and run `rake hamlit:erb2haml` again."
11
+ puts "(You can remove html2haml gem after the conversion.)"
12
+ exit 1
13
+ end
14
+
15
+ erb_files = Dir.glob('app/views/**/*.erb').select(&File.method(:file?))
16
+ if erb_files.empty?
17
+ puts 'No .erb files found. Skipping.'
18
+ return
19
+ end
20
+
21
+ haml_files_in_erb = Dir.glob('app/views/**/*.haml').select(&File.method(:file?)).map do |name|
22
+ name.sub(/\.haml\z/, '.erb')
23
+ end
24
+ existing_files = erb_files.select(&haml_files_in_erb.method(:include?))
25
+
26
+ if existing_files.any?
27
+ puts 'Some of your .erb files seem to have .haml equivalents:'
28
+ existing_files.map { |f| puts " #{f}" }
29
+ puts
30
+
31
+ begin
32
+ print 'Do you want to overwrite them? (y/n): '
33
+ answer = STDIN.gets.strip.downcase[0]
34
+ end until ['y', 'n'].include?(answer)
35
+
36
+ if answer == 'n'
37
+ if (erb_files - existing_files).empty?
38
+ puts 'No .erb files to convert. Skipping.'
39
+ return
40
+ end
41
+ else
42
+ existing_files.each { |file| File.delete(file.sub(/\.erb\z/, '.haml')) }
43
+ end
44
+ end
45
+ puts
46
+
47
+ erb_files.each do |file|
48
+ puts "Generating .haml for #{file}..."
49
+ unless system("html2haml #{file} #{file.sub(/\.erb\z/, '.haml')}")
50
+ abort "Failed to execute `html2haml #{file} #{file.sub(/\.erb\z/, '.haml')}`!"
51
+ end
52
+ end
53
+ puts
54
+
55
+ begin
56
+ print 'Do you want to delete original .erb files? (y/n): '
57
+ answer = STDIN.gets.strip.downcase[0]
58
+ end until ['y', 'n'].include?(answer)
59
+
60
+ if answer == 'y'
61
+ puts 'Deleting original .erb files...'
62
+ File.delete(*erb_files)
63
+ erb_files.each { |file| puts " #{file}" }
64
+ end
65
+ puts
66
+
67
+ puts 'Finished to convert erb files.'
68
+ end
69
+ end
@@ -1,5 +1,5 @@
1
1
  module Hamlit
2
2
  module Rails
3
- VERSION = "0.1.0"
3
+ VERSION = "0.2.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hamlit-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Meng Fung
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-05-07 00:00:00.000000000 Z
11
+ date: 2017-01-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: hamlit
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '1.9'
83
+ - !ruby/object:Gem::Dependency
84
+ name: html2haml
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: 2.0.0
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: 2.0.0
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: rake
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -122,6 +136,20 @@ dependencies:
122
136
  - - "~>"
123
137
  - !ruby/object:Gem::Version
124
138
  version: '1.0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: codeclimate-test-reporter
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: 0.4.7
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: 0.4.7
125
153
  description: hamlit-rails provides generators for Rails 4.
126
154
  email:
127
155
  - meng.fung@gmail.com
@@ -158,6 +186,7 @@ files:
158
186
  - lib/generators/haml/scaffold/templates/new.html.haml
159
187
  - lib/generators/haml/scaffold/templates/show.html.haml
160
188
  - lib/hamlit-rails.rb
189
+ - lib/hamlit-rails/erb2haml.rake
161
190
  - lib/hamlit-rails/version.rb
162
191
  homepage: https://github.com/mfung/hamlit-rails
163
192
  licenses:
@@ -179,7 +208,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
179
208
  version: '0'
180
209
  requirements: []
181
210
  rubyforge_project:
182
- rubygems_version: 2.4.6
211
+ rubygems_version: 2.5.2
183
212
  signing_key:
184
213
  specification_version: 4
185
214
  summary: hamlit and rails