Class: Develoz::Generators::PwaGenerator

Inherits:
Base
  • Object
show all
Defined in:
lib/generators/develoz/pwa/pwa_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#add_gem, #app_class, #app_name, #append_env, #apply_template, #ensure_gitignore, #inject_once, #insert_route, #migration_exists?, next_migration_timestamp

Class Method Details

.source_rootObject



8
9
10
# File 'lib/generators/develoz/pwa/pwa_generator.rb', line 8

def self.source_root
  File.expand_path("templates", __dir__)
end

Instance Method Details

#create_manifest_viewObject



17
18
19
20
# File 'lib/generators/develoz/pwa/pwa_generator.rb', line 17

def create_manifest_view
  template "app/views/pwa/manifest.json.erb.tt",
           "app/views/pwa/manifest.json.erb"
end

#create_offline_pageObject



27
28
29
30
# File 'lib/generators/develoz/pwa/pwa_generator.rb', line 27

def create_offline_page
  template "app/views/pwa/offline.html.erb.tt",
           "app/views/pwa/offline.html.erb"
end

#create_pwa_controllerObject



12
13
14
15
# File 'lib/generators/develoz/pwa/pwa_generator.rb', line 12

def create_pwa_controller
  template "app/controllers/pwa_controller.rb.tt",
           "app/controllers/pwa_controller.rb"
end

#create_registration_jsObject



32
33
34
35
# File 'lib/generators/develoz/pwa/pwa_generator.rb', line 32

def create_registration_js
  template "app/javascript/pwa/registration.js.tt",
           "app/javascript/pwa/registration.js"
end

#create_service_worker_viewObject



22
23
24
25
# File 'lib/generators/develoz/pwa/pwa_generator.rb', line 22

def create_service_worker_view
  template "app/views/pwa/service-worker.js.tt",
           "app/views/pwa/service-worker.js.erb"
end

#insert_pwa_routesObject



37
38
39
40
41
42
43
# File 'lib/generators/develoz/pwa/pwa_generator.rb', line 37

def insert_pwa_routes
  routes_snippet = File.read(File.join(self.class.source_root, "routes.rb.tt")).strip
  inject_once(into: "config/routes.rb",
              content: routes_snippet,
              before: /^end\s*$/,
              marker: "pwa#manifest")
end