elm-sprockets 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 2f29485ecf7472071a3ab7cc330a82816b8780d4
4
+ data.tar.gz: 2ec45e79d45baa5bab3e016b94b6f4cc45d8501a
5
+ SHA512:
6
+ metadata.gz: f34c9ce7a739c7772c30b1fd48417d300f1f275f6a5157ff33e3f39f911f5fc9ccad7046140cd2973d0364024f9dff1b2a64cebb451269b3704867620aed7124
7
+ data.tar.gz: ca5c8fde039309185498023ae079f1cefae3eda1d3f559022561af49bf30025326b603166d22857806394023e37a15c10030466391314134323bf9f5c6abd930
@@ -0,0 +1,9 @@
1
+ require 'sprockets'
2
+
3
+ module ElmSprockets
4
+ require 'elm-sprockets/elm_processor'
5
+
6
+ Sprockets.register_mime_type 'text/elm', extensions: ['.elm', '.js.elm']
7
+ Sprockets.register_transformer 'text/elm', 'application/javascript', ElmProcessor
8
+ Sprockets.register_preprocessor 'text/elm', Sprockets::DirectiveProcessor.new(comments: ['--', ['{-', '-}']])
9
+ end
File without changes
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+ module ElmSprockets
3
+ module Autoload
4
+ autoload :Elm, 'elm-sprockets/autoload/elm'
5
+ end
6
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+ require 'elm'
3
+
4
+ module ElmSprockets
5
+ module Autoload
6
+ Elm = ::Elm
7
+ end
8
+ end
@@ -0,0 +1,34 @@
1
+ require 'elm-sprockets/autoload'
2
+
3
+ module ElmSprockets
4
+ class ElmProcessor
5
+ VERSION = '1'
6
+
7
+ def self.instance
8
+ @instance ||= new
9
+ end
10
+
11
+ def self.call(input)
12
+ instance.call input
13
+ end
14
+
15
+ def initialize(options = {})
16
+ @options = options.merge({warn: true}).freeze
17
+ @opts = (Autoload::Elm::Options.with @options).freeze
18
+
19
+ @cache_key = [
20
+ self.class.name,
21
+ VERSION,
22
+ @options
23
+ ].freeze
24
+ end
25
+
26
+ def call(input)
27
+ data = input[:data]
28
+ input[:cache].fetch(@cache_key + [input[:filename]] + [data]) do
29
+ elm = Autoload::Elm.compiler.files([input[:source_path]]).to_s
30
+ { data: elm.output }
31
+ end
32
+ end
33
+ end
34
+ end
metadata ADDED
@@ -0,0 +1,232 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: elm-sprockets
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Yves Brissaud
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-03-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rspec
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.3'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 3.3.0
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '3.3'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 3.3.0
33
+ - !ruby/object:Gem::Dependency
34
+ name: guard
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '2.13'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 2.13.0
43
+ type: :development
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '2.13'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 2.13.0
53
+ - !ruby/object:Gem::Dependency
54
+ name: guard-rspec
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '4.6'
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 4.6.4
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '4.6'
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 4.6.4
73
+ - !ruby/object:Gem::Dependency
74
+ name: simplecov
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: '0.10'
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 0.10.0
83
+ type: :development
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.10'
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: 0.10.0
93
+ - !ruby/object:Gem::Dependency
94
+ name: cucumber
95
+ requirement: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '2.3'
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: 2.3.2
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '2.3'
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: 2.3.2
113
+ - !ruby/object:Gem::Dependency
114
+ name: guard-cucumber
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: '2.0'
120
+ type: :development
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - "~>"
125
+ - !ruby/object:Gem::Version
126
+ version: '2.0'
127
+ - !ruby/object:Gem::Dependency
128
+ name: rake
129
+ requirement: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - "~>"
132
+ - !ruby/object:Gem::Version
133
+ version: '10.5'
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - "~>"
139
+ - !ruby/object:Gem::Version
140
+ version: '10.5'
141
+ - !ruby/object:Gem::Dependency
142
+ name: rubocop
143
+ requirement: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - "~>"
146
+ - !ruby/object:Gem::Version
147
+ version: '0.37'
148
+ type: :development
149
+ prerelease: false
150
+ version_requirements: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - "~>"
153
+ - !ruby/object:Gem::Version
154
+ version: '0.37'
155
+ - !ruby/object:Gem::Dependency
156
+ name: contracts
157
+ requirement: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - "~>"
160
+ - !ruby/object:Gem::Version
161
+ version: 0.13.0
162
+ type: :runtime
163
+ prerelease: false
164
+ version_requirements: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - "~>"
167
+ - !ruby/object:Gem::Version
168
+ version: 0.13.0
169
+ - !ruby/object:Gem::Dependency
170
+ name: ruby-elm
171
+ requirement: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - "~>"
174
+ - !ruby/object:Gem::Version
175
+ version: '0.5'
176
+ type: :runtime
177
+ prerelease: false
178
+ version_requirements: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - "~>"
181
+ - !ruby/object:Gem::Version
182
+ version: '0.5'
183
+ - !ruby/object:Gem::Dependency
184
+ name: sprockets
185
+ requirement: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - "~>"
188
+ - !ruby/object:Gem::Version
189
+ version: '3.0'
190
+ type: :runtime
191
+ prerelease: false
192
+ version_requirements: !ruby/object:Gem::Requirement
193
+ requirements:
194
+ - - "~>"
195
+ - !ruby/object:Gem::Version
196
+ version: '3.0'
197
+ description: Compile elm files for rails.
198
+ email: yves.brissaud@gmail.com
199
+ executables: []
200
+ extensions: []
201
+ extra_rdoc_files: []
202
+ files:
203
+ - lib/elm-sprockets.rb
204
+ - lib/elm-sprockets/.gitignore
205
+ - lib/elm-sprockets/autoload.rb
206
+ - lib/elm-sprockets/autoload/elm.rb
207
+ - lib/elm-sprockets/elm_processor.rb
208
+ homepage: https://github.com/eunomie/elm-sprockets
209
+ licenses:
210
+ - MIT
211
+ metadata: {}
212
+ post_install_message:
213
+ rdoc_options: []
214
+ require_paths:
215
+ - lib
216
+ required_ruby_version: !ruby/object:Gem::Requirement
217
+ requirements:
218
+ - - ">="
219
+ - !ruby/object:Gem::Version
220
+ version: '0'
221
+ required_rubygems_version: !ruby/object:Gem::Requirement
222
+ requirements:
223
+ - - ">="
224
+ - !ruby/object:Gem::Version
225
+ version: '0'
226
+ requirements: []
227
+ rubyforge_project:
228
+ rubygems_version: 2.5.1
229
+ signing_key:
230
+ specification_version: 4
231
+ summary: Elm in your rails assets pipeline
232
+ test_files: []