plug 0.1.16 → 0.1.23

Sign up to get free protection for your applications and to get access to all the features.
@@ -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