open_fresk 0.1.1

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.
Files changed (97) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +64 -0
  3. data/Gemfile +12 -0
  4. data/Gemfile.lock +248 -0
  5. data/MIT-LICENSE +20 -0
  6. data/README.md +130 -0
  7. data/Rakefile +8 -0
  8. data/app/.DS_Store +0 -0
  9. data/app/assets/.DS_Store +0 -0
  10. data/app/assets/config/manifest.js +20 -0
  11. data/app/assets/images/open_fresk/.keep +0 -0
  12. data/app/assets/images/open_fresk/favicon.png +0 -0
  13. data/app/assets/images/open_fresk/logos/logo.png +0 -0
  14. data/app/assets/stylesheets/open_fresk/application.scss +90 -0
  15. data/app/assets/stylesheets/open_fresk/components/_accordion.scss +3 -0
  16. data/app/assets/stylesheets/open_fresk/components/_btn.scss +25 -0
  17. data/app/assets/stylesheets/open_fresk/components/_btn_toggle.scss +16 -0
  18. data/app/assets/stylesheets/open_fresk/components/_card.scss +6 -0
  19. data/app/assets/stylesheets/open_fresk/components/_checkout.scss +142 -0
  20. data/app/assets/stylesheets/open_fresk/components/_cursors.scss +35 -0
  21. data/app/assets/stylesheets/open_fresk/components/_dropdown_toggle.scss +9 -0
  22. data/app/assets/stylesheets/open_fresk/components/_form.scss +22 -0
  23. data/app/assets/stylesheets/open_fresk/components/_google_maps_autocomplete.scss +3 -0
  24. data/app/assets/stylesheets/open_fresk/components/_hamburger_button.scss +41 -0
  25. data/app/assets/stylesheets/open_fresk/components/_header.scss +57 -0
  26. data/app/assets/stylesheets/open_fresk/components/_iframe.scss +26 -0
  27. data/app/assets/stylesheets/open_fresk/components/_index.scss +22 -0
  28. data/app/assets/stylesheets/open_fresk/components/_nav_pills.scss +26 -0
  29. data/app/assets/stylesheets/open_fresk/components/_nps_progress_bar.scss +97 -0
  30. data/app/assets/stylesheets/open_fresk/components/_pagination.scss +11 -0
  31. data/app/assets/stylesheets/open_fresk/components/_progress_bar.scss +17 -0
  32. data/app/assets/stylesheets/open_fresk/components/_radio_button.scss +25 -0
  33. data/app/assets/stylesheets/open_fresk/components/_range.scss +253 -0
  34. data/app/assets/stylesheets/open_fresk/components/_select_input.scss +9 -0
  35. data/app/assets/stylesheets/open_fresk/components/_slider.scss +61 -0
  36. data/app/assets/stylesheets/open_fresk/components/_slim_select.scss +31 -0
  37. data/app/assets/stylesheets/open_fresk/components/_timeline.scss +165 -0
  38. data/app/assets/stylesheets/open_fresk/components/_tooltip.scss +20 -0
  39. data/app/assets/stylesheets/open_fresk/components/_transformation.scss +4 -0
  40. data/app/assets/stylesheets/open_fresk/config/_belts.scss +38 -0
  41. data/app/assets/stylesheets/open_fresk/config/_bg.scss +6 -0
  42. data/app/assets/stylesheets/open_fresk/config/_border.scss +15 -0
  43. data/app/assets/stylesheets/open_fresk/config/_colors.scss +42 -0
  44. data/app/assets/stylesheets/open_fresk/config/_index.scss +6 -0
  45. data/app/assets/stylesheets/open_fresk/config/_text.scss +24 -0
  46. data/app/assets/stylesheets/open_fresk/config/_typography.scss +26 -0
  47. data/app/assets/stylesheets/open_fresk/external_libraries/_actiontext.scss +30 -0
  48. data/app/assets/stylesheets/open_fresk/external_libraries/_slimselect.min.scss +1 -0
  49. data/app/assets/stylesheets/open_fresk/external_libraries/index.scss +2 -0
  50. data/app/assets/stylesheets/open_fresk/pages/_index.scss +1 -0
  51. data/app/assets/stylesheets/open_fresk/pages/_signin.scss +10 -0
  52. data/app/assets/stylesheets-original/open_fresk/application.css +90 -0
  53. data/app/controllers/.DS_Store +0 -0
  54. data/app/controllers/concerns/.keep +0 -0
  55. data/app/controllers/concerns/open_fresk/authentication.rb +18 -0
  56. data/app/controllers/open_fresk/application_controller.rb +5 -0
  57. data/app/controllers/open_fresk/sessions_controller.rb +38 -0
  58. data/app/controllers/open_fresk/training_sessions_controller.rb +17 -0
  59. data/app/extensions/open_fresk/core_extensions/string.rb +13 -0
  60. data/app/helpers/header_helper.rb +2 -0
  61. data/app/helpers/open_fresk/application_helper.rb +18 -0
  62. data/app/helpers/plateform_access/rights_helper.rb +15 -0
  63. data/app/javascript/manifest.json +15 -0
  64. data/app/javascript/open_fresk/application.js +7 -0
  65. data/app/javascript/open_fresk/controllers/hello_controller.js +7 -0
  66. data/app/jobs/open_fresk/application_job.rb +4 -0
  67. data/app/mailers/open_fresk/application_mailer.rb +6 -0
  68. data/app/models/.DS_Store +0 -0
  69. data/app/models/concerns/.keep +0 -0
  70. data/app/models/open_fresk/application_record.rb +10 -0
  71. data/app/models/open_fresk/training_session.rb +9 -0
  72. data/app/models/open_fresk/user.rb +9 -0
  73. data/app/services/open_fresk/extensions/string_enum.rb +201 -0
  74. data/app/views/layouts/header/_hamburger.html.erb +7 -0
  75. data/app/views/layouts/header/_logo.html.erb +5 -0
  76. data/app/views/layouts/open_fresk/_alert.html.erb +0 -0
  77. data/app/views/layouts/open_fresk/_footer.html.erb +0 -0
  78. data/app/views/layouts/open_fresk/_header.html.erb +12 -0
  79. data/app/views/layouts/open_fresk/_include.html.erb +24 -0
  80. data/app/views/layouts/open_fresk/_meta.html.erb +10 -0
  81. data/app/views/layouts/open_fresk/application.html.erb +23 -0
  82. data/app/views/open_fresk/sessions/_login.html.erb +16 -0
  83. data/app/views/open_fresk/sessions/new.html.erb +8 -0
  84. data/app/views/open_fresk/training_sessions/_card.html.erb +0 -0
  85. data/app/views/open_fresk/training_sessions/index.html.erb +22 -0
  86. data/bin/rails +14 -0
  87. data/config/importmap.rb +6 -0
  88. data/config/locales/en.yml +15 -0
  89. data/config/locales/fr.yml +15 -0
  90. data/config/routes.rb +8 -0
  91. data/lib/.DS_Store +0 -0
  92. data/lib/open_fresk/engine.rb +93 -0
  93. data/lib/open_fresk/version.rb +3 -0
  94. data/lib/open_fresk.rb +6 -0
  95. data/lib/tasks/open_fresk_tasks.rake +4 -0
  96. data/open_fresk.gemspec +29 -0
  97. metadata +250 -0
@@ -0,0 +1,10 @@
1
+ <meta name="viewport" content="width=device-width, initial-scale=1">
2
+ <meta name="theme-color" content="#fff"/>
3
+
4
+ <%#— defaults you can override in the host via I18n keys or by shadowing this partial —%>
5
+ <meta name="og:title" content="<%= t('open_fresk.meta.title', default: t('open_fresk.default_title')) %>" />
6
+ <meta name="og:type" content="website" />
7
+ <meta name="og:url" content="<%= request.original_url %>" />
8
+ <meta name="og:image" content="<%= image_url('open_fresk/favicon.png', host: request.base_url) %>" />
9
+ <meta name="og:site_name" content="<%= t('open_fresk.meta.site_name',default: t('open_fresk.default_site_name')) %>" />
10
+ <meta name="og:description" content="<%= t('open_fresk.meta.description',default: t('open_fresk.default_description')) %>" />
@@ -0,0 +1,23 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <title>OpenFresk</title>
5
+ <%= render "layouts/open_fresk/include" %>
6
+ <%= render "layouts/open_fresk/meta" %>
7
+ </head>
8
+ <body class="<%= controller_name %> <%= action_name %> flex-column h-100 my-0">
9
+ <%= render "layouts/open_fresk/header" %>
10
+ <div class="container mb-3">
11
+ <div class="mx-auto col-lg-6">
12
+ <%= render "layouts/open_fresk/alert" %>
13
+
14
+ <%#— hook for host‑only partials —%>
15
+ <% if lookup_context.template_exists?("layouts/open_fresk/container_extras", [], true) %>
16
+ <%= render partial: "layouts/open_fresk/container_extras" %>
17
+ <% end %>
18
+ </div>
19
+ <%= yield %>
20
+ </div>
21
+ <%= render "layouts/open_fresk/footer" %>
22
+ </body>
23
+ </html>
@@ -0,0 +1,16 @@
1
+ <%= form_tag(sessions_path, id: "signin", data: { controller: "signin" }) do %>
2
+ <div class="text-center">
3
+ <div class="mb-3">
4
+ <%= email_field_tag :email, nil, placeholder: t("email"), class: "form-control", required: true, autofocus: true %>
5
+ </div>
6
+ <div class="mb-3">
7
+ <%= password_field_tag :password, nil, placeholder: t("password"), class: "form-control", data: { signin_target: "passwordInput" }, required: true %>
8
+ </div>
9
+ <label>
10
+ <%= check_box_tag :show_password, 1, false, data: { action: "click->signin#togglePasswordVisibility" } %>
11
+ <%= t("show_password") %>
12
+ </label>
13
+ <%= submit_tag t("sessions.signin"), id: "new_session_commit", class: "mt-3 w-100 btn btn-lg btn-primary rounded-pill" %>
14
+ <%= link_to(t("sessions.forgot"), new_forgot_password_path(language: @language), class: "w-100 btn btn-link") %>
15
+ </div>
16
+ <% end %>
@@ -0,0 +1,8 @@
1
+ <main>
2
+ <div class="form-signin">
3
+ <h3 class="mb-3 text-center">Login</h3>
4
+ <%= render "login" %>
5
+ </div>
6
+
7
+ <%= tag.div "", data: { controller: "hello" } %>
8
+ </main>
@@ -0,0 +1,22 @@
1
+ <div class="col-lg-6 mx-auto mb-3">
2
+ <div class="fs-5 fw-bold my-2" id="welcome_message">
3
+ <%= t("hello_name", name: current_user.firstname&.titleize_with_dashes) %>
4
+ </div>
5
+ <nav class="nav nav-pills">
6
+ <a class="flex-fill text-center nav-link" href="#my_sessions" data-bs-toggle="pill" data-bs-target="#my_sessions">
7
+ <%= t("training_sessions.my_sessions") %>
8
+ <span class="small">(<%= @my_training_sessions&.count %>)</span>
9
+ </a>
10
+ </nav>
11
+ <div class="tab-content">
12
+ <div class="tab-pane fade mt-3" id="my_sessions">
13
+ <div>
14
+ <span class='btn text-primary border-primary rounded-pill'><%= t("training_sessions.to_come") %></span>
15
+
16
+ </div>
17
+ <% @my_training_sessions&.each do |my_training_session| %>
18
+ <%= render "card", training_session: my_training_session %>
19
+ <% end %>
20
+ </div>
21
+ </div>
22
+ </div>
data/bin/rails ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails gems
3
+ # installed from the root of your application.
4
+
5
+ ENGINE_ROOT = File.expand_path("..", __dir__)
6
+ ENGINE_PATH = File.expand_path("../lib/open_fresk/engine", __dir__)
7
+ APP_PATH = File.expand_path("../test/dummy/config/application", __dir__)
8
+
9
+ # Set up gems listed in the Gemfile.
10
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)
11
+ require "bundler/setup" if File.exist?(ENV["BUNDLE_GEMFILE"])
12
+
13
+ require "rails/all"
14
+ require "rails/engine/commands"
@@ -0,0 +1,6 @@
1
+ # config/importmap.rb (inside the engine)
2
+ # Pin the entrypoint...
3
+ pin "open_fresk", to: "open_fresk.js"
4
+ # …and all controllers under the controllers folder:
5
+ pin_all_from File.expand_path("../app/javascript/open_fresk/controllers", __dir__),
6
+ under: "open_fresk/controllers"
@@ -0,0 +1,15 @@
1
+ en:
2
+ open_fresk:
3
+ default_title: "OpenFresk"
4
+ default_site_name: "OpenFresk"
5
+ default_description: "OpenFresk - Climate Fresk Workshop Platform"
6
+ meta:
7
+ title: "OpenFresk"
8
+ site_name: "OpenFresk"
9
+ description: "OpenFresk - Climate Fresk Workshop Platform"
10
+ email: "Email"
11
+ password: "Password"
12
+ show_password: "Show password"
13
+ sessions:
14
+ signin: "Sign in"
15
+ forgot: "Forgot your password?"
@@ -0,0 +1,15 @@
1
+ fr:
2
+ open_fresk:
3
+ default_title: "OpenFresk"
4
+ default_site_name: "OpenFresk"
5
+ default_description: "OpenFresk - Plateforme d'Ateliers de la Fresque du Climat"
6
+ meta:
7
+ title: "OpenFresk"
8
+ site_name: "OpenFresk"
9
+ description: "OpenFresk - Plateforme d'Ateliers de la Fresque du Climat"
10
+ email: "Email"
11
+ password: "Mot de passe"
12
+ show_password: "Afficher le mot de passe"
13
+ sessions:
14
+ signin: "Se connecter"
15
+ forgot: "Mot de passe oublié ?"
data/config/routes.rb ADDED
@@ -0,0 +1,8 @@
1
+ OpenFresk::Engine.routes.draw do
2
+ root to: "sessions#new"
3
+
4
+ resources :sessions, only: %i[new create]
5
+ resource :forgot_password, only: %i[new create]
6
+ resources :training_sessions, only: %i[index] do
7
+ end
8
+ end
data/lib/.DS_Store ADDED
Binary file
@@ -0,0 +1,93 @@
1
+ require "sprockets/rails"
2
+ require "font_awesome5_rails"
3
+
4
+ module OpenFresk
5
+ class Engine < ::Rails::Engine
6
+ isolate_namespace OpenFresk
7
+
8
+ # Load migrations into the host app (aka "dummy" app)
9
+ initializer :append_migrations do |app|
10
+ unless app.root.to_s.match?(root.to_s)
11
+ config.paths["db/migrate"].expanded.each do |expanded_path|
12
+ app.config.paths["db/migrate"] << expanded_path
13
+ end
14
+ end
15
+ end
16
+
17
+ # Autoload services and helpers
18
+ initializer "open_fresk.add_autoload_paths", before: :set_autoload_paths do |app|
19
+ # Services
20
+ config.autoload_paths += [root.join("app", "services")]
21
+ config.eager_load_paths += [root.join("app", "services")]
22
+
23
+ # Helpers (including FontAwesome5)
24
+ helpers_path = root.join("app", "helpers")
25
+ config.autoload_paths += [helpers_path]
26
+ config.eager_load_paths += [helpers_path]
27
+ end
28
+
29
+ # Make app/javascript discoverable by Sprockets (so importmap assets are served)
30
+ initializer "open_fresk.assets.paths", group: :all do |app|
31
+ app.config.assets.paths << root.join("app/javascript")
32
+ end
33
+
34
+ # Precompile our JS entrypoint so it shows up under /assets/open_fresk.js
35
+ initializer "open_fresk.assets.precompile", group: :all do |app|
36
+ app.config.assets.precompile += %w[
37
+ open_fresk/application.css
38
+ open_fresk.js
39
+ open_fresk/favicon.png
40
+ manifest.json
41
+ open_fresk/application.js
42
+ open_fresk/logos/logo.png
43
+ ]
44
+ end
45
+
46
+ # Precompile each controller under app/javascript/open_fresk/controllers
47
+ initializer "open_fresk.assets.precompile_controllers", group: :all do |app|
48
+ Dir[root.join("app/javascript/open_fresk/controllers/*.js")].each do |full_path|
49
+ logical_path = Pathname.new(full_path).relative_path_from(root.join("app/javascript")).to_s
50
+ app.config.assets.precompile << logical_path
51
+ end
52
+ end
53
+
54
+ # Load core extensions
55
+ initializer "open_fresk.core_ext.string", before: :load_config_initializers do
56
+ config.to_prepare do
57
+ ::String.include OpenFresk::CoreExtensions::String
58
+ end
59
+ end
60
+
61
+ # Make engine views available to host app controllers
62
+ initializer "open_fresk.append_view_paths", after: :load_config_initializers do
63
+ ActiveSupport.on_load(:action_controller) do
64
+ append_view_path OpenFresk::Engine.root.join("app/views")
65
+ end
66
+ end
67
+
68
+ # # Tell importmap-rails about our engine’s own importmap.rb
69
+ # initializer "open_fresk.importmap", after: "importmap" do |app|
70
+ # app.config.importmap.paths << root.join("config/importmap.rb")
71
+ # end
72
+
73
+ initializer "open_fresk.assets.bootstrap", before: :append_assets_path do |app|
74
+ if spec = Gem.loaded_specs["bootstrap"]
75
+ app.config.assets.paths << File.join(spec.full_gem_path, "assets", "stylesheets")
76
+ end
77
+ end
78
+
79
+ # Include shared helpers after load
80
+ config.to_prepare do
81
+ # Engine and host controllers share these
82
+ #::ApplicationController.helper(::HeaderHelper)
83
+ #::ApplicationController.helper(::PlateformAccess::RightsHelper)
84
+
85
+ ::ApplicationController.helper :all
86
+ OpenFresk::ApplicationController.helper :all
87
+
88
+ # FontAwesome icon helper
89
+ ::ApplicationController.helper(FontAwesome5::Rails::IconHelper)
90
+ OpenFresk::ApplicationController.helper(FontAwesome5::Rails::IconHelper)
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,3 @@
1
+ module OpenFresk
2
+ VERSION = "0.1.1"
3
+ end
data/lib/open_fresk.rb ADDED
@@ -0,0 +1,6 @@
1
+ require "open_fresk/version"
2
+ require "open_fresk/engine"
3
+
4
+ module OpenFresk
5
+ # Your code goes here...
6
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :open_fresk do
3
+ # # Task goes here
4
+ # end
@@ -0,0 +1,29 @@
1
+ require_relative "lib/open_fresk/version"
2
+
3
+ Gem::Specification.new do |spec|
4
+ spec.name = "open_fresk"
5
+ spec.version = OpenFresk::VERSION
6
+ spec.authors = ["Vincent Daubry"]
7
+ spec.email = ["vdaubry@gmail.com"]
8
+ spec.summary = "Summary of OpenFresk."
9
+ spec.description = "Description of OpenFresk."
10
+ spec.license = "MIT"
11
+
12
+ # Define which files should be packaged with the gem (everything except path starting with test/, spec/, .git/ or tmp/)
13
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
14
+ `git ls-files -z`.split("\x0").reject { |f|
15
+ f.match(%r{\A(?:test|spec|\.git|tmp)/})
16
+ }
17
+ end
18
+ spec.require_paths = ["lib"]
19
+
20
+ # Production dependencies:
21
+ spec.add_dependency "rails", "7.0.8.1"
22
+ spec.add_dependency "puma"
23
+ spec.add_dependency "pg"
24
+ spec.add_dependency "sprockets-rails"
25
+ spec.add_dependency "concurrent-ruby", '1.3.4'
26
+ spec.add_dependency "font_awesome5_rails", "1.5.0"
27
+ spec.add_dependency "sass-rails", ">= 6"
28
+ spec.add_dependency "bootstrap", "5.3.1"
29
+ end
metadata ADDED
@@ -0,0 +1,250 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: open_fresk
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Vincent Daubry
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2025-05-12 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 7.0.8.1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 7.0.8.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: puma
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: pg
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: sprockets-rails
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: concurrent-ruby
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '='
74
+ - !ruby/object:Gem::Version
75
+ version: 1.3.4
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '='
81
+ - !ruby/object:Gem::Version
82
+ version: 1.3.4
83
+ - !ruby/object:Gem::Dependency
84
+ name: font_awesome5_rails
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '='
88
+ - !ruby/object:Gem::Version
89
+ version: 1.5.0
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '='
95
+ - !ruby/object:Gem::Version
96
+ version: 1.5.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: sass-rails
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '6'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '6'
111
+ - !ruby/object:Gem::Dependency
112
+ name: bootstrap
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '='
116
+ - !ruby/object:Gem::Version
117
+ version: 5.3.1
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '='
123
+ - !ruby/object:Gem::Version
124
+ version: 5.3.1
125
+ description: Description of OpenFresk.
126
+ email:
127
+ - vdaubry@gmail.com
128
+ executables: []
129
+ extensions: []
130
+ extra_rdoc_files: []
131
+ files:
132
+ - ".gitignore"
133
+ - Gemfile
134
+ - Gemfile.lock
135
+ - MIT-LICENSE
136
+ - README.md
137
+ - Rakefile
138
+ - app/.DS_Store
139
+ - app/assets/.DS_Store
140
+ - app/assets/config/manifest.js
141
+ - app/assets/images/open_fresk/.keep
142
+ - app/assets/images/open_fresk/favicon.png
143
+ - app/assets/images/open_fresk/logos/logo.png
144
+ - app/assets/stylesheets-original/open_fresk/application.css
145
+ - app/assets/stylesheets/open_fresk/application.scss
146
+ - app/assets/stylesheets/open_fresk/components/_accordion.scss
147
+ - app/assets/stylesheets/open_fresk/components/_btn.scss
148
+ - app/assets/stylesheets/open_fresk/components/_btn_toggle.scss
149
+ - app/assets/stylesheets/open_fresk/components/_card.scss
150
+ - app/assets/stylesheets/open_fresk/components/_checkout.scss
151
+ - app/assets/stylesheets/open_fresk/components/_cursors.scss
152
+ - app/assets/stylesheets/open_fresk/components/_dropdown_toggle.scss
153
+ - app/assets/stylesheets/open_fresk/components/_form.scss
154
+ - app/assets/stylesheets/open_fresk/components/_google_maps_autocomplete.scss
155
+ - app/assets/stylesheets/open_fresk/components/_hamburger_button.scss
156
+ - app/assets/stylesheets/open_fresk/components/_header.scss
157
+ - app/assets/stylesheets/open_fresk/components/_iframe.scss
158
+ - app/assets/stylesheets/open_fresk/components/_index.scss
159
+ - app/assets/stylesheets/open_fresk/components/_nav_pills.scss
160
+ - app/assets/stylesheets/open_fresk/components/_nps_progress_bar.scss
161
+ - app/assets/stylesheets/open_fresk/components/_pagination.scss
162
+ - app/assets/stylesheets/open_fresk/components/_progress_bar.scss
163
+ - app/assets/stylesheets/open_fresk/components/_radio_button.scss
164
+ - app/assets/stylesheets/open_fresk/components/_range.scss
165
+ - app/assets/stylesheets/open_fresk/components/_select_input.scss
166
+ - app/assets/stylesheets/open_fresk/components/_slider.scss
167
+ - app/assets/stylesheets/open_fresk/components/_slim_select.scss
168
+ - app/assets/stylesheets/open_fresk/components/_timeline.scss
169
+ - app/assets/stylesheets/open_fresk/components/_tooltip.scss
170
+ - app/assets/stylesheets/open_fresk/components/_transformation.scss
171
+ - app/assets/stylesheets/open_fresk/config/_belts.scss
172
+ - app/assets/stylesheets/open_fresk/config/_bg.scss
173
+ - app/assets/stylesheets/open_fresk/config/_border.scss
174
+ - app/assets/stylesheets/open_fresk/config/_colors.scss
175
+ - app/assets/stylesheets/open_fresk/config/_index.scss
176
+ - app/assets/stylesheets/open_fresk/config/_text.scss
177
+ - app/assets/stylesheets/open_fresk/config/_typography.scss
178
+ - app/assets/stylesheets/open_fresk/external_libraries/_actiontext.scss
179
+ - app/assets/stylesheets/open_fresk/external_libraries/_slimselect.min.scss
180
+ - app/assets/stylesheets/open_fresk/external_libraries/index.scss
181
+ - app/assets/stylesheets/open_fresk/pages/_index.scss
182
+ - app/assets/stylesheets/open_fresk/pages/_signin.scss
183
+ - app/controllers/.DS_Store
184
+ - app/controllers/concerns/.keep
185
+ - app/controllers/concerns/open_fresk/authentication.rb
186
+ - app/controllers/open_fresk/application_controller.rb
187
+ - app/controllers/open_fresk/sessions_controller.rb
188
+ - app/controllers/open_fresk/training_sessions_controller.rb
189
+ - app/extensions/open_fresk/core_extensions/string.rb
190
+ - app/helpers/header_helper.rb
191
+ - app/helpers/open_fresk/application_helper.rb
192
+ - app/helpers/plateform_access/rights_helper.rb
193
+ - app/javascript/manifest.json
194
+ - app/javascript/open_fresk/application.js
195
+ - app/javascript/open_fresk/controllers/hello_controller.js
196
+ - app/jobs/open_fresk/application_job.rb
197
+ - app/mailers/open_fresk/application_mailer.rb
198
+ - app/models/.DS_Store
199
+ - app/models/concerns/.keep
200
+ - app/models/open_fresk/application_record.rb
201
+ - app/models/open_fresk/training_session.rb
202
+ - app/models/open_fresk/user.rb
203
+ - app/services/open_fresk/extensions/string_enum.rb
204
+ - app/views/layouts/header/_hamburger.html.erb
205
+ - app/views/layouts/header/_logo.html.erb
206
+ - app/views/layouts/open_fresk/_alert.html.erb
207
+ - app/views/layouts/open_fresk/_footer.html.erb
208
+ - app/views/layouts/open_fresk/_header.html.erb
209
+ - app/views/layouts/open_fresk/_include.html.erb
210
+ - app/views/layouts/open_fresk/_meta.html.erb
211
+ - app/views/layouts/open_fresk/application.html.erb
212
+ - app/views/open_fresk/sessions/_login.html.erb
213
+ - app/views/open_fresk/sessions/new.html.erb
214
+ - app/views/open_fresk/training_sessions/_card.html.erb
215
+ - app/views/open_fresk/training_sessions/index.html.erb
216
+ - bin/rails
217
+ - config/importmap.rb
218
+ - config/locales/en.yml
219
+ - config/locales/fr.yml
220
+ - config/routes.rb
221
+ - lib/.DS_Store
222
+ - lib/open_fresk.rb
223
+ - lib/open_fresk/engine.rb
224
+ - lib/open_fresk/version.rb
225
+ - lib/tasks/open_fresk_tasks.rake
226
+ - open_fresk.gemspec
227
+ homepage:
228
+ licenses:
229
+ - MIT
230
+ metadata: {}
231
+ post_install_message:
232
+ rdoc_options: []
233
+ require_paths:
234
+ - lib
235
+ required_ruby_version: !ruby/object:Gem::Requirement
236
+ requirements:
237
+ - - ">="
238
+ - !ruby/object:Gem::Version
239
+ version: '0'
240
+ required_rubygems_version: !ruby/object:Gem::Requirement
241
+ requirements:
242
+ - - ">="
243
+ - !ruby/object:Gem::Version
244
+ version: '0'
245
+ requirements: []
246
+ rubygems_version: 3.4.10
247
+ signing_key:
248
+ specification_version: 4
249
+ summary: Summary of OpenFresk.
250
+ test_files: []