hyper-rails 0.3.0 → 0.4.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: 593f55292490fb95a0b935a69686076255d6f8de
4
- data.tar.gz: 2a2fd934c13d69c3aef2febcb964d94f1a81b0c9
3
+ metadata.gz: 9283b7e105a7586095ee4d390814806e57d0cace
4
+ data.tar.gz: 8cd6a49c0af0f8e2ab7b2a93496f86d31bdb4914
5
5
  SHA512:
6
- metadata.gz: ae11f9c71847f43a128ae8939960c737ae2eba9adc03996eda6bf7d3998dd5227ed71050ec5b550f793d12e5b4bc48ff6825679c4ec601c449d9fe4ca3ed5990
7
- data.tar.gz: 753116e1685446de75938fd6e8baf91fbf85ece1151fd7b16bc04ad091910e489de8a36d7489a799e338559ab2e5fa72614cdcc2f06f94cf4eb506ffab68683b
6
+ metadata.gz: 592162996aaff48519514cc91ed0dbd77cdbe6696003b9c8e4b7fab8e73708b153ad268510d4ed49bec6be5067be8a91e85f9c9dbfb8404a163fe2d8af721809
7
+ data.tar.gz: 3813ecd460c9a8a34069d0eaafad764eb04b6d41e252d162067fe949633991250b5384bc9e03957f1e1ec5f83c9e0f48771d720eba341a47398e9547f74597b3
@@ -1,40 +1,56 @@
1
1
  require 'rails/generators'
2
2
  module Hyperloop
3
3
  class InstallGenerator < Rails::Generators::Base
4
- class_option :'reactive-record', type: :boolean
4
+ class_option :'hyper-mesh', type: :boolean
5
5
  class_option :'opal-jquery', type: :boolean
6
- class_option :'reactrb-router', type: :boolean
6
+ class_option :'hyper-router', type: :boolean
7
7
  class_option :all, type: :boolean
8
8
 
9
9
  def inject_react_file_js
10
- inject_into_file 'app/assets/javascripts/application.js',
11
- after: "// about supported directives.\n" do
10
+ prepend_file 'app/assets/javascripts/application.js' do
12
11
  <<-'JS'
12
+ // added by hyper-rails: These lines must preceed other requires especially turbo_links
13
13
  //= require 'components'
14
14
  //= require 'react_ujs'
15
15
  JS
16
16
  end
17
- inject_into_file 'app/assets/javascripts/application.js',
18
- after: "//= require jquery_ujs\n" do
19
- <<-'JS'
20
- Opal.load('components');
21
- JS
22
- end
17
+ append_file 'app/assets/javascripts/application.js', "Opal.load('components');\n"
23
18
  end
24
19
 
25
20
  def inject_engine_to_routes
26
- if options[:'reactive-record'] || options[:all]
27
- route 'mount ReactiveRecord::Engine => \'/rr\''
21
+ if options[:'hyper-mesh'] || options[:all]
22
+ route 'mount HyperMesh::Engine => \'/rr\''
28
23
  end
29
24
  end
30
25
 
31
26
  def create_components_directory
32
27
  create_file 'app/views/components/.keep', ''
33
- if options[:'reactive-record'] || options[:all]
28
+ if options[:'hyper-mesh'] || options[:all]
34
29
  create_file 'app/models/public/.keep', ''
35
30
  end
36
31
  end
37
32
 
33
+ def create_policies_directory
34
+ if options[:'hyper-mesh'] || options[:all]
35
+ create_file 'app/policies/application_policy.rb', <<-RUBY
36
+ # app/policies/application_policy
37
+
38
+ # Policies regulate access to your public models
39
+ # The following policy will open up full access (but only in development)
40
+ # The policy system is very flexible and powerful. See the documentation
41
+ # for complete details.
42
+ class ApplicationPolicy
43
+ # Allow any session to connect:
44
+ always_allow_connection
45
+ # Send all attributes from all public models
46
+ regulate_all_broadcasts { |policy| policy.send_all }
47
+ # Allow all changes to public models
48
+ allow_change(to: :all, on: [:create, :update, :destroy]) { true }
49
+ end if Rails.env.development?
50
+ RUBY
51
+ end
52
+ end
53
+
38
54
  def create_manifests
39
55
  create_file 'app/views/components.rb', <<-FILE
40
56
  # app/views/components.rb
@@ -48,13 +64,13 @@ if React::IsomorphicHelpers.on_opal_client?
48
64
  require 'browser/delay'
49
65
  # add any additional requires that can ONLY run on client here
50
66
  end
51
- #{"require 'reactrb-router'\nrequire 'react_router'" if options[:'reactive-router'] || options[:all]}
52
- #{'require \'reactive-record\'' if options[:'reactive-record'] || options[:all]}
53
- #{'require \'models\'' if options[:'reactive-record'] || options[:all]}
67
+ #{"require 'hyper-router'\nrequire 'react_router'" if options[:'hyper-router'] || options[:all]}
68
+ #{'require \'hyper-mesh\'' if options[:'hyper-mesh'] || options[:all]}
69
+ #{'require \'models\'' if options[:'hyper-mesh'] || options[:all]}
54
70
  require_tree './components'
55
71
  FILE
56
72
 
57
- if options[:'reactive-record'] || options[:all]
73
+ if options[:'hyper-mesh'] || options[:all]
58
74
  create_file 'app/models/models.rb', <<-FILE
59
75
  # app/models/models.rb
60
76
  require_tree './public'
@@ -65,11 +81,11 @@ require_tree './public'
65
81
  def add_config
66
82
  application 'config.assets.paths << ::Rails.root.join(\'app\', \'models\').to_s'
67
83
  application 'config.autoload_paths += %W(#{config.root}/app/views/components)'
68
- if options[:'reactive-record'] || options[:all]
84
+ if options[:'hyper-mesh'] || options[:all]
69
85
  application 'config.autoload_paths += %W(#{config.root}/app/models/public)'
70
86
  end
71
87
  application 'config.eager_load_paths += %W(#{config.root}/app/views/components)'
72
- if options[:'reactive-record'] || options[:all]
88
+ if options[:'hyper-mesh'] || options[:all]
73
89
  application 'config.eager_load_paths += %W(#{config.root}/app/models/public)'
74
90
  end
75
91
  application 'config.watchable_files.concat Dir["#{config.root}/app/views/**/*.rb"]',
@@ -85,11 +101,11 @@ require_tree './public'
85
101
  gem 'therubyracer', platforms: :ruby
86
102
 
87
103
  # optional gems
88
- if options[:'reactrb-router'] || options[:all]
104
+ if options[:'hyper-router'] || options[:all]
89
105
  gem 'react-router-rails', '~> 0.13.3'
90
- gem 'reactrb-router'
106
+ gem 'hyper-router'
91
107
  end
92
- gem 'reactive-record' if options[:'reactive-record'] || options[:all]
108
+ gem 'hyper-mesh' if options[:'hyper-mesh'] || options[:all]
93
109
  end
94
110
  end
95
111
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyper-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Loic Boutet
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-05 00:00:00.000000000 Z
11
+ date: 2016-11-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails