hamlit-rails 0.1.0 → 0.2.0

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.
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