paloma 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. data/.gitignore +18 -0
  2. data/Gemfile +3 -0
  3. data/Gemfile.lock +148 -0
  4. data/License +22 -0
  5. data/README.md +240 -0
  6. data/Rakefile +16 -0
  7. data/app/views/paloma/_callback_hook.html.erb +33 -0
  8. data/lib/paloma.rb +14 -0
  9. data/lib/paloma/action_controller_extension.rb +52 -0
  10. data/lib/paloma/action_controller_filters.rb +53 -0
  11. data/lib/paloma/paloma_generator.rb +94 -0
  12. data/lib/paloma/templates/_callbacks.js +2 -0
  13. data/lib/paloma/templates/_local.js +20 -0
  14. data/lib/paloma/templates/action.js +5 -0
  15. data/lib/paloma/templates/index.js +1 -0
  16. data/lib/paloma/templates/paloma.js +22 -0
  17. data/paloma.gemspec +23 -0
  18. data/spec/callback_spec.rb +65 -0
  19. data/spec/sample_app/app/assets/javascripts/application.js +4 -0
  20. data/spec/sample_app/app/assets/javascripts/paloma/articles/callbacks.js +1 -0
  21. data/spec/sample_app/app/assets/javascripts/paloma/articles/create.js +3 -0
  22. data/spec/sample_app/app/assets/javascripts/paloma/articles/edit.js +3 -0
  23. data/spec/sample_app/app/assets/javascripts/paloma/articles/index.js +3 -0
  24. data/spec/sample_app/app/assets/javascripts/paloma/articles/new.js +3 -0
  25. data/spec/sample_app/app/assets/javascripts/paloma/articles/show.js +3 -0
  26. data/spec/sample_app/app/assets/javascripts/paloma/articles/update.js +3 -0
  27. data/spec/sample_app/app/assets/javascripts/paloma/index.js +2 -0
  28. data/spec/sample_app/app/assets/javascripts/paloma/paloma.js +1 -0
  29. data/spec/sample_app/app/views/articles/index.html.erb +5 -0
  30. data/spec/sample_app/app/views/articles/new.html.erb +9 -0
  31. data/spec/sample_app/app/views/articles/show.html.erb +2 -0
  32. data/spec/sample_app/app/views/layouts/application.html.erb +12 -0
  33. data/spec/sample_app/controllers.rb +54 -0
  34. data/spec/sample_app/init.rb +33 -0
  35. data/spec/sample_app/model.rb +28 -0
  36. data/spec/sample_app/paloma_test +0 -0
  37. data/spec/spec_helper.rb +21 -0
  38. metadata +215 -39
@@ -0,0 +1,2 @@
1
+ //= require ./paloma
2
+ //= require ./articles/callbacks
@@ -0,0 +1 @@
1
+ window.Paloma = {callbacks:{}};
@@ -0,0 +1,5 @@
1
+ <% @articles.each do |article| %>
2
+ <div>
3
+ <%= article.title %>: <%= article.body %>
4
+ </div>
5
+ <% end %>
@@ -0,0 +1,9 @@
1
+ <%= form_for @article, :html => {:id => "article-form"} do |f| %>
2
+ Title:
3
+ <%= f.text_field :title %>
4
+
5
+ Body:
6
+ <%= f.text_area :body %>
7
+
8
+ <%= f.submit :Save %>
9
+ <% end %>
@@ -0,0 +1,2 @@
1
+ <h1><%= @article.title %></h1>
2
+ <p><%= @article.body %></p>
@@ -0,0 +1,12 @@
1
+ <!DOCTYPE HTML>
2
+ <html>
3
+ <head>
4
+ <title>Paloma</title>
5
+ <%= csrf_meta_tags %>
6
+ <%= javascript_include_tag "application" %>
7
+ </head>
8
+
9
+ <body>
10
+ <%= yield %>
11
+ </body>
12
+ </html>
@@ -0,0 +1,54 @@
1
+ # Dummy Controllers
2
+ class ApplicationController < ActionController::Base
3
+ end
4
+
5
+
6
+ class ArticlesController < ApplicationController
7
+
8
+ def index
9
+ @articles = Article.all
10
+ js_callback :params => {:article_count => @articles.size}
11
+ end
12
+
13
+
14
+ def show
15
+ @article = Article.find params[:id]
16
+ end
17
+
18
+
19
+ def new
20
+ @article = Article.new
21
+ end
22
+
23
+
24
+ def create
25
+ @article = Article.new params[:article]
26
+
27
+ if @article.save
28
+ redirect_to @article
29
+ else
30
+ js_callback :new
31
+ render :new
32
+ end
33
+ end
34
+
35
+
36
+ def edit
37
+ @article = Article.find params[:id]
38
+ render :new
39
+ end
40
+
41
+
42
+ def update
43
+ @article = Article.find params[:id]
44
+
45
+ if @article.update_attributes params[:article]
46
+ js_callback false
47
+ redirect_to @article
48
+ else
49
+ js_callback :controller => :articles, :action => :edit
50
+ render :new
51
+ end
52
+ end
53
+
54
+ end
@@ -0,0 +1,33 @@
1
+ require 'action_controller/railtie'
2
+ require 'action_view/railtie'
3
+
4
+ require 'jquery-rails'
5
+ require 'sprockets/railtie'
6
+ require 'sprockets'
7
+
8
+
9
+ # Dummy Rails Configurations
10
+ app = Class.new(Rails::Application)
11
+ app.config.secret_token = '3b7cd727ee24e8444053437c36cc66c4'
12
+ app.config.session_store :cookie_store, :key => '_myapp_session'
13
+ app.config.active_support.deprecation = :log
14
+ app.config.root = File.dirname(__FILE__)
15
+
16
+ # Assets
17
+ app.config.assets.enabled = true
18
+ app.config.assets.version = '1.0'
19
+ app.config.assets.compress = false
20
+ app.config.assets.debug = true
21
+ app.config.assets.compile = true
22
+
23
+ Rails.backtrace_cleaner.remove_silencers!
24
+ app.initialize!
25
+
26
+
27
+ # Routes
28
+ app.routes.draw do
29
+ resources :articles, :controller => 'Articles'
30
+ end
31
+
32
+ require "#{Paloma.root}/spec/sample_app/model"
33
+ require "#{Paloma.root}/spec/sample_app/controllers"
@@ -0,0 +1,28 @@
1
+ # ActiveRecord Configuration
2
+ # We are not using :memory: database to handle javascript requests on controller
3
+ require 'active_record/railtie'
4
+ ActiveRecord::Base.configurations = {'test' => {:adapter => 'sqlite3', :database => 'paloma_test'}}
5
+ ActiveRecord::Base.establish_connection('test')
6
+
7
+
8
+ # Model
9
+ class Article < ActiveRecord::Base
10
+ attr_accessible :title, :body
11
+
12
+ validates_presence_of :title
13
+ end
14
+
15
+
16
+ # Migration
17
+ class CreateArticles < ActiveRecord::Migration
18
+ def self.up
19
+ create_table :articles, :force => true do |t|
20
+ t.string :title
21
+ t.string :body
22
+ end
23
+ end
24
+ end
25
+
26
+
27
+ ActiveRecord::Migration.verbose = false
28
+ CreateArticles.up
Binary file
@@ -0,0 +1,21 @@
1
+ require 'rails'
2
+ require 'bundler/setup'
3
+ Bundler.require
4
+
5
+ require 'sample_app/init'
6
+ require 'rspec/rails'
7
+
8
+
9
+ require 'capybara/rspec'
10
+ require 'database_cleaner'
11
+
12
+ RSpec.configure do |config|
13
+ config.before :each do
14
+ DatabaseCleaner.strategy = :truncation
15
+ DatabaseCleaner.start
16
+ end
17
+
18
+ config.after do
19
+ DatabaseCleaner.clean
20
+ end
21
+ end
metadata CHANGED
@@ -1,66 +1,242 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: paloma
3
- version: !ruby/object:Gem::Version
4
- hash: 29
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 1
10
- version: 0.0.1
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Karl Paragua
14
9
  - Bia Esmero
15
10
  autorequire:
16
11
  bindir: bin
17
12
  cert_chain: []
18
-
19
- date: 2012-12-17 00:00:00 Z
20
- dependencies: []
21
-
13
+ date: 2012-12-17 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: jquery-rails
17
+ requirement: !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ! '>='
29
+ - !ruby/object:Gem::Version
30
+ version: '0'
31
+ - !ruby/object:Gem::Dependency
32
+ name: rails
33
+ requirement: !ruby/object:Gem::Requirement
34
+ none: false
35
+ requirements:
36
+ - - ! '>='
37
+ - !ruby/object:Gem::Version
38
+ version: 3.1.0
39
+ type: :development
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ none: false
43
+ requirements:
44
+ - - ! '>='
45
+ - !ruby/object:Gem::Version
46
+ version: 3.1.0
47
+ - !ruby/object:Gem::Dependency
48
+ name: bundler
49
+ requirement: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: 1.0.0
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ! '>='
61
+ - !ruby/object:Gem::Version
62
+ version: 1.0.0
63
+ - !ruby/object:Gem::Dependency
64
+ name: rake
65
+ requirement: !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ! '>='
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ type: :development
72
+ prerelease: false
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ! '>='
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
79
+ - !ruby/object:Gem::Dependency
80
+ name: sqlite3
81
+ requirement: !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ! '>='
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ type: :development
88
+ prerelease: false
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ none: false
91
+ requirements:
92
+ - - ! '>='
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ - !ruby/object:Gem::Dependency
96
+ name: rspec
97
+ requirement: !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - ! '>='
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rspec-rails
113
+ requirement: !ruby/object:Gem::Requirement
114
+ none: false
115
+ requirements:
116
+ - - ~>
117
+ - !ruby/object:Gem::Version
118
+ version: '2.0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ none: false
123
+ requirements:
124
+ - - ~>
125
+ - !ruby/object:Gem::Version
126
+ version: '2.0'
127
+ - !ruby/object:Gem::Dependency
128
+ name: capybara
129
+ requirement: !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ! '>='
133
+ - !ruby/object:Gem::Version
134
+ version: '1.0'
135
+ type: :development
136
+ prerelease: false
137
+ version_requirements: !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ! '>='
141
+ - !ruby/object:Gem::Version
142
+ version: '1.0'
143
+ - !ruby/object:Gem::Dependency
144
+ name: database_cleaner
145
+ requirement: !ruby/object:Gem::Requirement
146
+ none: false
147
+ requirements:
148
+ - - ! '>='
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ type: :development
152
+ prerelease: false
153
+ version_requirements: !ruby/object:Gem::Requirement
154
+ none: false
155
+ requirements:
156
+ - - ! '>='
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ - !ruby/object:Gem::Dependency
160
+ name: launchy
161
+ requirement: !ruby/object:Gem::Requirement
162
+ none: false
163
+ requirements:
164
+ - - ! '>='
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ type: :development
168
+ prerelease: false
169
+ version_requirements: !ruby/object:Gem::Requirement
170
+ none: false
171
+ requirements:
172
+ - - ! '>='
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
22
175
  description: Javascript Callback Manager for Rails
23
176
  email: kb.paragua@gmail.com
24
177
  executables: []
25
-
26
178
  extensions: []
27
-
28
179
  extra_rdoc_files: []
29
-
30
- files:
180
+ files:
181
+ - .gitignore
182
+ - Gemfile
183
+ - Gemfile.lock
184
+ - License
185
+ - README.md
186
+ - Rakefile
187
+ - app/views/paloma/_callback_hook.html.erb
31
188
  - lib/paloma.rb
189
+ - lib/paloma/action_controller_extension.rb
190
+ - lib/paloma/action_controller_filters.rb
191
+ - lib/paloma/paloma_generator.rb
192
+ - lib/paloma/templates/_callbacks.js
193
+ - lib/paloma/templates/_local.js
194
+ - lib/paloma/templates/action.js
195
+ - lib/paloma/templates/index.js
196
+ - lib/paloma/templates/paloma.js
197
+ - paloma.gemspec
198
+ - spec/callback_spec.rb
199
+ - spec/sample_app/app/assets/javascripts/application.js
200
+ - spec/sample_app/app/assets/javascripts/paloma/articles/callbacks.js
201
+ - spec/sample_app/app/assets/javascripts/paloma/articles/create.js
202
+ - spec/sample_app/app/assets/javascripts/paloma/articles/edit.js
203
+ - spec/sample_app/app/assets/javascripts/paloma/articles/index.js
204
+ - spec/sample_app/app/assets/javascripts/paloma/articles/new.js
205
+ - spec/sample_app/app/assets/javascripts/paloma/articles/show.js
206
+ - spec/sample_app/app/assets/javascripts/paloma/articles/update.js
207
+ - spec/sample_app/app/assets/javascripts/paloma/index.js
208
+ - spec/sample_app/app/assets/javascripts/paloma/paloma.js
209
+ - spec/sample_app/app/views/articles/index.html.erb
210
+ - spec/sample_app/app/views/articles/new.html.erb
211
+ - spec/sample_app/app/views/articles/show.html.erb
212
+ - spec/sample_app/app/views/layouts/application.html.erb
213
+ - spec/sample_app/controllers.rb
214
+ - spec/sample_app/init.rb
215
+ - spec/sample_app/model.rb
216
+ - spec/sample_app/paloma_test
217
+ - spec/spec_helper.rb
32
218
  homepage: https://github.com/kbparagua/paloma
33
219
  licenses: []
34
-
35
220
  post_install_message:
36
221
  rdoc_options: []
37
-
38
- require_paths:
222
+ require_paths:
39
223
  - lib
40
- required_ruby_version: !ruby/object:Gem::Requirement
224
+ required_ruby_version: !ruby/object:Gem::Requirement
41
225
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- hash: 3
46
- segments:
47
- - 0
48
- version: "0"
49
- required_rubygems_version: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ! '>='
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ required_rubygems_version: !ruby/object:Gem::Requirement
50
231
  none: false
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- hash: 3
55
- segments:
56
- - 0
57
- version: "0"
232
+ requirements:
233
+ - - ! '>='
234
+ - !ruby/object:Gem::Version
235
+ version: '0'
58
236
  requirements: []
59
-
60
237
  rubyforge_project:
61
- rubygems_version: 1.8.23
238
+ rubygems_version: 1.8.24
62
239
  signing_key:
63
240
  specification_version: 3
64
241
  summary: Javascript Callback Manager for Rails
65
242
  test_files: []
66
-