plug 0.1.16 → 0.1.23

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.
@@ -1,8 +1,6 @@
1
1
  module Plug
2
2
  module Resources
3
3
  class SiteNotice < ActiveResource::Base
4
- include Plug::Concerns::Themeable
5
-
6
4
  self.site = Plug.api_path
7
5
 
8
6
  def enabled?
@@ -2,6 +2,5 @@ module Plug
2
2
  class SiteNotice < ApplicationRecord
3
3
  include AASM
4
4
  include Plug::Concerns::ModelHelpers
5
- include Plug::Concerns::Themeable
6
5
  end
7
6
  end
@@ -0,0 +1,18 @@
1
+ require 'rake'
2
+
3
+ module Plug
4
+ class TaskExecutionService
5
+ attr_reader :name
6
+
7
+ def initialize(name: nil)
8
+ raise 'Task name is required' if name.nil?
9
+
10
+ @name = name
11
+ end
12
+
13
+ def call
14
+ Rails.application.load_tasks
15
+ Rake::Task[name].execute
16
+ end
17
+ end
18
+ end
@@ -19,10 +19,10 @@
19
19
  %table
20
20
  %thead
21
21
  %tr
22
- %th Name
22
+ %th{ width: 200 } Name
23
23
  %th Description
24
- %th Slug
25
- %th State
24
+ %th{ width: 200 } Slug
25
+ %th{ width: 150, align: 'center' } State
26
26
 
27
27
  - if Plug.allow_delete
28
28
  %th Actions
@@ -33,11 +33,11 @@
33
33
  %td= link_to feature.name, edit_feature_path(feature), class: 'strong'
34
34
  %td= feature.description
35
35
  %td= feature.slug
36
- %td
36
+ %td{ width: 150, align: 'center' }
37
37
  - if feature.state == 'enabled'
38
- %i.fas.fa-check-circle.fa-2x.state__enabled
38
+ %i.fas.fa-check-circle.fa-2x.state.state--enabled
39
39
  - else
40
- %i.fas.fa-times-circle.fa-2x.state__disabled
40
+ %i.fas.fa-times-circle.fa-2x.state.state--disabled
41
41
 
42
42
  - if Plug.allow_delete
43
43
  %td= link_to 'Destroy', feature, method: :delete, data: { confirm: 'Are you sure?' }
@@ -7,4 +7,4 @@
7
7
  = javascript_include_tag 'plug/application'
8
8
  = csrf_meta_tags
9
9
 
10
- %script{ defer: '', src: 'https://use.fontawesome.com/releases/v5.0.4/js/all.js' }
10
+ %script{ defer: '', src: 'https://use.fontawesome.com/releases/v5.13.0/js/all.js' }
@@ -1,7 +1,7 @@
1
1
  %nav.clearfix.nav
2
2
  .float-left
3
3
  %h3
4
- = link_to 'Plug', plug.root_path, class: 'nav__logo'
4
+ = link_to 'plug', plug.root_path, class: 'nav__logo'
5
5
  %small /unplug features
6
6
  .float-right
7
7
  %ul.menu
@@ -11,13 +11,14 @@
11
11
  = f.text_field :name
12
12
  .field
13
13
  = f.label :notice
14
- = f.text_area :notice, rows: 10
14
+ = f.hidden_field :notice
15
+ %trix-editor{ input: 'site_notice_notice' }
15
16
  .field
16
17
  = f.label :state
17
18
  = f.select :state, ['enabled', 'disabled']
18
19
  .field
19
20
  = f.label :theme
20
- = f.select :theme, Plug.themes.map { |theme| [theme[:name], "#{theme[:style].to_a.map { |s| s.join(':') }.join(';')}"] }
21
+ = f.select :theme, Plug.themes
21
22
  .actions.clearfix
22
23
  .float-left
23
24
  = link_to 'Back', site_notices_path, class: 'button'
@@ -15,10 +15,10 @@
15
15
  %table
16
16
  %thead
17
17
  %tr
18
- %th Name
18
+ %th{ width: 200 } Name
19
19
  %th Notice
20
- %th Slug
21
- %th State
20
+ %th{ width: 200 } Slug
21
+ %th{ width: 150, align: 'center' } State
22
22
 
23
23
  - if Plug.allow_delete
24
24
  %th Actions
@@ -27,13 +27,13 @@
27
27
  - @site_notices.each do |site_notice|
28
28
  %tr
29
29
  %td= link_to site_notice.name, edit_site_notice_path(site_notice), class: 'strong'
30
- %td= site_notice.notice
30
+ %td= site_notice.notice.html_safe
31
31
  %td= site_notice.slug
32
- %td
32
+ %td{ width: 150, align: 'center' }
33
33
  - if site_notice.state == 'enabled'
34
- %i.fas.fa-check-circle.fa-2x.state__enabled
34
+ %i.fas.fa-check-circle.fa-2x.state.state--enabled
35
35
  - else
36
- %i.fas.fa-times-circle.fa-2x.state__disabled
36
+ %i.fas.fa-times-circle.fa-2x.state.state--disabled
37
37
 
38
38
  - if Plug.allow_delete
39
39
  %td= link_to 'Destroy', site_notice, method: :delete, data: { confirm: 'Are you sure?' }
data/config/routes.rb CHANGED
@@ -10,6 +10,8 @@ Plug::Engine.routes.draw do
10
10
  namespace :api, defaults: { format: :json } do
11
11
  get '/site_notices/:slug', to: 'site_notices#show'
12
12
  get '/site_notices', to: 'site_notices#index'
13
+ get '/features/:slug', to: 'features#show'
14
+ get '/features', to: 'features#index'
13
15
  end
14
16
 
15
17
  post '/task', to: 'features#task_execution', as: :task_execution
@@ -1,4 +1,4 @@
1
- class CreatePlugFeatures < ActiveRecord::Migration
1
+ class CreatePlugFeatures < ActiveRecord::Migration[5.1]
2
2
  def change
3
3
  create_table :plug_features do |t|
4
4
  t.string :name
@@ -1,4 +1,4 @@
1
- class AddNoticeToPlugFeatures < ActiveRecord::Migration
1
+ class AddNoticeToPlugFeatures < ActiveRecord::Migration[5.1]
2
2
  def change
3
3
  add_column :plug_features, :notice, :text
4
4
  end
@@ -1,4 +1,4 @@
1
- class CreatePlugSiteNotices < ActiveRecord::Migration
1
+ class CreatePlugSiteNotices < ActiveRecord::Migration[5.1]
2
2
  def change
3
3
  create_table :plug_site_notices do |t|
4
4
  t.string :name
@@ -3,4 +3,5 @@
3
3
  Plug.configure do |config|
4
4
  config.auth_user = 'admin'
5
5
  config.auth_password = 'password'
6
+ config.themes = ['default', 'dark']
6
7
  end
data/lib/plug/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Plug
2
- VERSION = '0.1.16'
2
+ VERSION = '0.1.23'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plug
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.16
4
+ version: 0.1.23
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-04-30 00:00:00.000000000 Z
12
+ date: 2021-02-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -208,6 +208,7 @@ files:
208
208
  - app/assets/images/favicon.png
209
209
  - app/assets/javascripts/plug/application.js
210
210
  - app/assets/javascripts/plug/features.js
211
+ - app/assets/javascripts/plug/trix-core.js
211
212
  - app/assets/stylesheets/plug/_settings.scss
212
213
  - app/assets/stylesheets/plug/application.scss
213
214
  - app/assets/stylesheets/plug/blocks/_alert.scss
@@ -222,9 +223,12 @@ files:
222
223
  - app/assets/stylesheets/plug/normalize.scss
223
224
  - app/assets/stylesheets/plug/partials/_main.scss
224
225
  - app/assets/stylesheets/plug/partials/_utils.scss
226
+ - app/assets/stylesheets/plug/trix-overrides.scss
227
+ - app/assets/stylesheets/plug/trix.scss
225
228
  - app/assets/stylesheets/plug/variables/_colors.scss
226
229
  - app/assets/stylesheets/plug/variables/_typography.scss
227
230
  - app/controllers/plug/api/api_controller.rb
231
+ - app/controllers/plug/api/features_controller.rb
228
232
  - app/controllers/plug/api/site_notices_controller.rb
229
233
  - app/controllers/plug/application_controller.rb
230
234
  - app/controllers/plug/features_controller.rb
@@ -233,10 +237,11 @@ files:
233
237
  - app/mailers/plug/application_mailer.rb
234
238
  - app/models/plug/application_record.rb
235
239
  - app/models/plug/concerns/model_helpers.rb
236
- - app/models/plug/concerns/themeable.rb
237
240
  - app/models/plug/feature.rb
241
+ - app/models/plug/resources/feature.rb
238
242
  - app/models/plug/resources/site_notice.rb
239
243
  - app/models/plug/site_notice.rb
244
+ - app/services/plug/task_execution_service.rb
240
245
  - app/views/layouts/plug/application.html.haml
241
246
  - app/views/plug/features/_form.html.haml
242
247
  - app/views/plug/features/_task.html.haml
@@ -281,8 +286,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
281
286
  - !ruby/object:Gem::Version
282
287
  version: '0'
283
288
  requirements: []
284
- rubyforge_project:
285
- rubygems_version: 2.5.1
289
+ rubygems_version: 3.0.3
286
290
  signing_key:
287
291
  specification_version: 4
288
292
  summary: Rails engine that can plug/unplug features
@@ -1,16 +0,0 @@
1
- require 'active_support/concern'
2
-
3
- module Plug
4
- module Concerns
5
- module Themeable
6
- extend ActiveSupport::Concern
7
-
8
- included do
9
-
10
- def icon
11
- theme.split(';').last.split(':').last
12
- end
13
- end
14
- end
15
- end
16
- end