hocus_pocus 0.1.2 → 0.1.3

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.
data/CHANGELOG CHANGED
@@ -1,3 +1,7 @@
1
+ == 0.1.3
2
+
3
+ * Support various HTML5 inputs
4
+
1
5
  == 0.1.2
2
6
 
3
7
  * Add after_filter contents only when format.html? [schin]
data/hocus_pocus.gemspec CHANGED
@@ -8,9 +8,9 @@ Gem::Specification.new do |s|
8
8
  s.platform = Gem::Platform::RUBY
9
9
  s.authors = ['Akira Matsuda']
10
10
  s.email = ['ronnie@dio.jp']
11
- s.homepage = 'http://github.com/amatsuda/hocus_pocus'
12
- s.summary = 'An Isolated Engine that casts a spell on your Rails 3.1 app'
13
- s.description = 'An Isolated Engine that casts a spell on your Rails 3.1 app'
11
+ s.homepage = 'https://github.com/amatsuda/hocus_pocus'
12
+ s.summary = 'A magical Engine that casts a spell on your Rails 3.1 app'
13
+ s.description = 'A magical Engine that casts a spell on your Rails 3.1 app'
14
14
 
15
15
  s.rubyforge_project = 'hocus_pocus'
16
16
 
@@ -33,7 +33,7 @@ module HocusPocus
33
33
  $('form').live('submit', function() {
34
34
  var scenario = [" scenario '#{@controller.action_name.humanize} #{@controller.controller_name.humanize}' do"];
35
35
  scenario.push(" visit '" + window.location.href + "'");
36
- $(this).find('input[type=text],textarea').each(function() {
36
+ $(this).find('input[type=text],input[type=email],input[type=url],input[type=number],input[type=search],textarea').each(function() {
37
37
  scenario.push(" fill_in '" + $(this).attr('id') + "', :with => '" + $(this).val() + "'");
38
38
  });
39
39
  $(this).find('select').each(function() {
@@ -1,3 +1,3 @@
1
1
  module HocusPocus
2
- VERSION = '0.1.2'
2
+ VERSION = '0.1.3'
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hocus_pocus
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 29
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 2
10
- version: 0.1.2
9
+ - 3
10
+ version: 0.1.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Akira Matsuda
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-05-24 00:00:00 Z
18
+ date: 2011-09-16 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: nested_scaffold
@@ -33,7 +33,7 @@ dependencies:
33
33
  version: 0.1.0
34
34
  type: :runtime
35
35
  version_requirements: *id001
36
- description: An Isolated Engine that casts a spell on your Rails 3.1 app
36
+ description: A magical Engine that casts a spell on your Rails 3.1 app
37
37
  email:
38
38
  - ronnie@dio.jp
39
39
  executables: []
@@ -69,7 +69,6 @@ files:
69
69
  - lib/generators/hocus_pocus/templates/hocus_pocus_config.rb
70
70
  - lib/hocus_pocus.rb
71
71
  - lib/hocus_pocus/config.rb
72
- - lib/hocus_pocus/content_appender.rb
73
72
  - lib/hocus_pocus/engine.rb
74
73
  - lib/hocus_pocus/filter.rb
75
74
  - lib/hocus_pocus/railtie.rb
@@ -78,7 +77,7 @@ files:
78
77
  - test/helper.rb
79
78
  - test/test_hocus_pocus.rb
80
79
  - vendor/assets/javascripts/jquery_ujs.js
81
- homepage: http://github.com/amatsuda/hocus_pocus
80
+ homepage: https://github.com/amatsuda/hocus_pocus
82
81
  licenses:
83
82
  - MIT
84
83
  post_install_message:
@@ -107,10 +106,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
107
106
  requirements: []
108
107
 
109
108
  rubyforge_project: hocus_pocus
110
- rubygems_version: 1.8.3
109
+ rubygems_version: 1.8.9
111
110
  signing_key:
112
111
  specification_version: 3
113
- summary: An Isolated Engine that casts a spell on your Rails 3.1 app
112
+ summary: A magical Engine that casts a spell on your Rails 3.1 app
114
113
  test_files:
115
114
  - test/helper.rb
116
115
  - test/test_hocus_pocus.rb
@@ -1,76 +0,0 @@
1
- module HocusPocus
2
- class ContentAppender
3
- def initialize(app)
4
- @app = app
5
- end
6
-
7
- def call(env)
8
- # controller.flash[HocusPocus::SPEC] = controller.params[HocusPocus::SPEC] if controller.params[HocusPocus::SPEC]
9
- # controller.flash.keep(HocusPocus::SPEC)
10
-
11
- @app.call(env).tap do |status, headers, body|
12
- if body.respond_to? :body
13
- @body = body.body
14
- @controller_name = env['action_dispatch.request.path_parameters'][:controller]
15
- @action_name = env['action_dispatch.request.path_parameters'][:action]
16
- unless headers['Content-Type'].starts_with?('text/html')
17
- #FIXME avoid loading jquery twice
18
- # add_jquery
19
- add_steak_recorder
20
- # add_js
21
- unless controller.start_with? 'hocus_pocus/'
22
- add_buttons
23
- end
24
- # add_command_line
25
- body.body = @body
26
- end
27
- end
28
- end
29
-
30
- private
31
- def add_steak_recorder
32
- #TODO exclude EDITOR and GENERATOR
33
- insert_text :before, /<\/body>/i, <<-TEPPAN
34
- <script type="text/javascript">
35
- $('form').live('submit', function() {
36
- var scenario = [" scenario '#{@action_name.humanize} #{@controller_name.humanize}' do"];
37
- scenario.push(" visit '" + window.location.href + "'");
38
- $(this).find('input[type=text]').each(function() {
39
- scenario.push(" fill_in '" + $(this).attr('id') + "', :with => '" + $(this).val() + "'");
40
- });
41
- scenario.push(" click_button '" + $(this).find('input[type=submit]').val() + "'");
42
- $(this).append('<textarea id="#{HocusPocus::SPEC}" name="#{HocusPocus::SPEC}" style="height: 0px; width: 0px;" />');
43
- $('##{HocusPocus::SPEC}').val(scenario.join('\\n'));
44
- })
45
- </script>
46
- TEPPAN
47
- end
48
-
49
- def add_buttons
50
- #FIXME path
51
- #FIXME use @template somehow?
52
- edit_link = %Q[<a href="/editor?template=#{@controller.controller_name}/#{@controller.action_name}" data-remote="true" onclick="$(this).closest('div').find('div.partials').toggle()">edit</a>]
53
- spec_link = %Q[<a href="#" onclick="$(this).closest('div').find('div.spec').toggle();">spec</a>]
54
- partials = %Q[<div class="partials" style="display:none">#{(Thread.current[HocusPocus::VIEW_FILENAMES] || []).map(&:virtual_path).map {|v| '<a href="/editor?template=' + v + '" data-remote="true">' + v + '</a>'}.join('<br>')}</div>]
55
- #FIXME more assertions
56
- spec = %Q[<div class="spec" style="display:none"><pre>#{CGI.unescape(@controller.flash[HocusPocus::SPEC]) + "\n end" if @controller.flash[HocusPocus::SPEC]}</pre></div>]
57
-
58
- insert_text :before, /<\/body>/i, %Q[<div style="position:absolute; top:0; right: 0;">#{edit_link} | #{spec_link}<br>#{partials}<br>#{spec}</div>]
59
- Thread.current[HocusPocus::VIEW_FILENAMES] = nil
60
- end
61
-
62
- def insert_text(position, pattern, new_text)
63
- index = case pattern
64
- when Regexp
65
- if match = @body.match(pattern)
66
- match.offset(0)[position == :before ? 0 : 1]
67
- else
68
- @body.size
69
- end
70
- else
71
- pattern
72
- end
73
- @body.insert index, new_text
74
- end
75
- end
76
- end