riddler_admin 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/riddler_admin/application.js +0 -1
  3. data/app/assets/javascripts/riddler_admin/preview_contexts.js +2 -0
  4. data/app/assets/javascripts/riddler_admin/publish_requests.js +2 -0
  5. data/app/assets/javascripts/riddler_admin/steps.js +36 -22
  6. data/app/assets/stylesheets/riddler_admin/application.scss +3 -0
  7. data/app/assets/stylesheets/riddler_admin/preview_contexts.css +4 -0
  8. data/app/assets/stylesheets/riddler_admin/publish_requests.css +4 -0
  9. data/app/controllers/riddler_admin/application_controller.rb +24 -2
  10. data/app/controllers/riddler_admin/dashboard_controller.rb +8 -0
  11. data/app/controllers/riddler_admin/elements_controller.rb +6 -2
  12. data/app/controllers/riddler_admin/preview_contexts_controller.rb +60 -0
  13. data/app/controllers/riddler_admin/publish_requests_controller.rb +90 -0
  14. data/app/controllers/riddler_admin/slugs_controller.rb +67 -0
  15. data/app/controllers/riddler_admin/steps_controller.rb +73 -20
  16. data/app/helpers/riddler_admin/application_helper.rb +19 -0
  17. data/app/helpers/riddler_admin/preview_contexts_helper.rb +4 -0
  18. data/app/helpers/riddler_admin/publish_requests_helper.rb +4 -0
  19. data/app/models/riddler_admin/application_record.rb +4 -4
  20. data/app/models/riddler_admin/content_definition.rb +87 -0
  21. data/app/models/riddler_admin/element.rb +52 -10
  22. data/app/models/riddler_admin/elements/heading.rb +6 -0
  23. data/app/models/riddler_admin/elements/image.rb +18 -0
  24. data/app/models/riddler_admin/elements/link.rb +18 -0
  25. data/app/models/riddler_admin/elements/{copy.rb → text.rb} +7 -1
  26. data/app/models/riddler_admin/elements/variant.rb +19 -0
  27. data/app/models/riddler_admin/preview_context.rb +83 -0
  28. data/app/models/riddler_admin/publish_request.rb +57 -0
  29. data/app/models/riddler_admin/slug.rb +90 -0
  30. data/app/models/riddler_admin/step.rb +66 -4
  31. data/app/models/riddler_admin/steps/variant.rb +19 -0
  32. data/app/validators/parseable_predicate_validator.rb +8 -0
  33. data/app/views/layouts/riddler_admin/application.html.erb +11 -4
  34. data/app/views/riddler_admin/_element.html.erb +14 -10
  35. data/app/views/riddler_admin/_element_container.html.erb +11 -0
  36. data/app/views/riddler_admin/_navbar.html.erb +29 -0
  37. data/app/views/riddler_admin/_preview_step.html.erb +39 -0
  38. data/app/views/riddler_admin/_step.html.erb +35 -0
  39. data/app/views/riddler_admin/_step_container.html.erb +11 -0
  40. data/app/views/riddler_admin/dashboard/index.html.erb +44 -0
  41. data/app/views/riddler_admin/elements/_form.html.erb +37 -0
  42. data/app/views/riddler_admin/elements/_new.html.erb +41 -8
  43. data/app/views/riddler_admin/elements/_show.html.erb +3 -1
  44. data/app/views/riddler_admin/elements/edit.js.erb +2 -0
  45. data/app/views/riddler_admin/elements/heading/_detail.html.erb +0 -0
  46. data/app/views/riddler_admin/elements/heading/_form.html.erb +8 -2
  47. data/app/views/riddler_admin/elements/image/_detail.html.erb +0 -0
  48. data/app/views/riddler_admin/elements/image/_form.html.erb +12 -0
  49. data/app/views/riddler_admin/elements/link/_detail.html.erb +0 -0
  50. data/app/views/riddler_admin/elements/link/_form.html.erb +12 -0
  51. data/app/views/riddler_admin/elements/show.js.erb +2 -2
  52. data/app/views/riddler_admin/elements/text/_detail.html.erb +0 -0
  53. data/app/views/riddler_admin/elements/text/_form.html.erb +4 -0
  54. data/app/views/riddler_admin/elements/variant/_detail.html.erb +6 -0
  55. data/app/views/riddler_admin/elements/variant/_form.html.erb +1 -0
  56. data/app/views/riddler_admin/preview_contexts/_form.html.erb +44 -0
  57. data/app/views/riddler_admin/preview_contexts/edit.html.erb +10 -0
  58. data/app/views/riddler_admin/preview_contexts/index.html.erb +43 -0
  59. data/app/views/riddler_admin/preview_contexts/new.html.erb +10 -0
  60. data/app/views/riddler_admin/preview_contexts/show.html.erb +45 -0
  61. data/app/views/riddler_admin/publish_requests/_actions.html.erb +19 -0
  62. data/app/views/riddler_admin/publish_requests/_form.html.erb +53 -0
  63. data/app/views/riddler_admin/publish_requests/approve.js.erb +2 -0
  64. data/app/views/riddler_admin/publish_requests/edit.html.erb +10 -0
  65. data/app/views/riddler_admin/publish_requests/index.html.erb +62 -0
  66. data/app/views/riddler_admin/publish_requests/new.html.erb +10 -0
  67. data/app/views/riddler_admin/publish_requests/publish.js.erb +2 -0
  68. data/app/views/riddler_admin/publish_requests/show.html.erb +25 -0
  69. data/app/views/riddler_admin/slugs/_form.html.erb +48 -0
  70. data/app/views/riddler_admin/slugs/edit.html.erb +10 -0
  71. data/app/views/riddler_admin/slugs/index.html.erb +44 -0
  72. data/app/views/riddler_admin/slugs/new.html.erb +10 -0
  73. data/app/views/riddler_admin/slugs/show.html.erb +18 -0
  74. data/app/views/riddler_admin/steps/_definition.html.erb +11 -0
  75. data/app/views/riddler_admin/steps/_form.html.erb +45 -17
  76. data/app/views/riddler_admin/steps/_new_sub_step.html.erb +56 -0
  77. data/app/views/riddler_admin/steps/_visual_preview.html.erb +24 -0
  78. data/app/views/riddler_admin/steps/content/_show.html.erb +53 -25
  79. data/app/views/riddler_admin/steps/edit.html.erb +15 -4
  80. data/app/views/riddler_admin/steps/index.html.erb +24 -10
  81. data/app/views/riddler_admin/steps/internal_preview.js.erb +5 -0
  82. data/app/views/riddler_admin/steps/new.html.erb +10 -5
  83. data/app/views/riddler_admin/steps/new.js.erb +3 -0
  84. data/app/views/riddler_admin/steps/preview.json.erb +1 -0
  85. data/app/views/riddler_admin/steps/show.html.erb +26 -11
  86. data/app/views/riddler_admin/steps/show.js.erb +4 -0
  87. data/app/views/riddler_admin/steps/variant/_show.html.erb +59 -0
  88. data/config/routes.rb +20 -1
  89. data/db/migrate/20181124201519_riddler_admin_genesis.rb +72 -0
  90. data/lib/riddler_admin.rb +29 -2
  91. data/lib/riddler_admin/configuration.rb +44 -0
  92. data/lib/riddler_admin/version.rb +1 -1
  93. metadata +75 -30
  94. data/app/views/riddler_admin/elements/copy/_class.html.erb +0 -3
  95. data/app/views/riddler_admin/elements/copy/_form.html.erb +0 -2
  96. data/app/views/riddler_admin/elements/heading/_class.html.erb +0 -3
  97. data/app/views/riddler_admin/steps/_preview.html.erb +0 -5
  98. data/db/migrate/20181124201519_create_riddler_admin_steps.rb +0 -20
@@ -1,6 +1,17 @@
1
- <h1>Editing Step</h1>
1
+ <div class="card">
2
+ <div class="card-body">
3
+ <div class="row">
4
+ <div class="col-sm">
5
+ <h1>Editing Step</h1>
6
+ </div>
7
+ </div>
2
8
 
3
- <%= render 'form', step: @step %>
9
+ <div class="row">
10
+ <div class="col-sm">
11
+ <%= render 'form', step: @step %>
4
12
 
5
- <%= link_to 'Show', @step %> |
6
- <%= link_to 'Back', steps_path %>
13
+ <%= link_to 'Back', @step %>
14
+ </div>
15
+ </div>
16
+ </div>
17
+ </div>
@@ -1,13 +1,27 @@
1
- <p id="notice"><%= notice %></p>
1
+ <div class="row">
2
+ <% if notice %>
3
+ <div class="col-sm">
4
+ <span id="notice"><%= notice %></span>
5
+ </div>
6
+ <% end %>
7
+ </div>
2
8
 
3
- <h1>Steps</h1>
9
+ <div class="row">
10
+ <div class="col-sm-6">
11
+ <h1>Steps</h1>
12
+ </div>
13
+ <div class="col-sm-6">
14
+ <%= link_to 'New step', new_step_path, class: 'btn btn-primary float-right'%>
15
+ </div>
16
+ </div>
4
17
 
5
- <table>
18
+ <table class="table">
6
19
  <thead>
7
20
  <tr>
21
+ <th>Title</th>
8
22
  <th>Id</th>
9
23
  <th>Type</th>
10
- <th>Name</th>
24
+
11
25
  <th colspan="3"></th>
12
26
  </tr>
13
27
  </thead>
@@ -15,17 +29,17 @@
15
29
  <tbody>
16
30
  <% @steps.each do |step| %>
17
31
  <tr>
32
+ <td><%= link_to step.title, step %></td>
18
33
  <td><%= step.id %></td>
19
34
  <td><%= step.type.demodulize %></td>
20
- <td><%= step.name %></td>
21
- <td><%= link_to 'Show', step %></td>
22
- <td><%= link_to 'Edit', edit_step_path(step) %></td>
23
- <td><%= link_to 'Destroy', step, method: :delete, data: { confirm: 'Are you sure?' } %></td>
35
+
36
+ <td>
37
+ <%= link_to 'Delete', step, method: :delete, data: { confirm: 'Are you sure?' }, class: 'btn btn-light' %>
38
+
39
+ </td>
24
40
  </tr>
25
41
  <% end %>
26
42
  </tbody>
27
43
  </table>
28
44
 
29
45
  <br>
30
-
31
- <%= link_to 'New Step', new_step_path %>
@@ -0,0 +1,5 @@
1
+ $("#<%= @preview_context.id %>-json pre")
2
+ .html("<%= j JSON.pretty_generate @preview_hash %>");
3
+
4
+ $("#<%= @preview_context.id %>-visual")
5
+ .html("<%= j render partial: "riddler_admin/steps/visual_preview", locals: { data: @preview_hash } %>")
@@ -1,5 +1,10 @@
1
- <h1>New Step</h1>
2
-
3
- <%= render 'form', step: @step %>
4
-
5
- <%= link_to 'Back', steps_path %>
1
+ <div class="card">
2
+ <div class="card-body">
3
+ <div class="row">
4
+ <div class="col-sm">
5
+ <h1>New Step</h1>
6
+ </div>
7
+ </div>
8
+ <%= render "form", step: @step %>
9
+ </div>
10
+ </div>
@@ -0,0 +1,3 @@
1
+ $("#new-step")
2
+ .html("<%= j render partial: "new_sub_step", locals: { step: @step } %>")
3
+ .show()
@@ -0,0 +1 @@
1
+ <%= @use_case.process.to_json.html_safe %>
@@ -1,14 +1,29 @@
1
- <p id="notice"><%= notice %></p>
1
+ <div class="row">
2
+ <div class="col-sm">
3
+ <% if notice %>
4
+ <div class="alert alert-success">
5
+ <span id="notice"><%= notice %></span>
6
+ </div>
7
+ <% end %>
8
+ </div>
9
+ </div>
2
10
 
3
- <%= link_to 'Edit', edit_step_path(@step) %> |
4
- <%= link_to 'Steps', steps_path %>
5
-
6
- <h1>
7
- <%= @step.name %>
8
- <small class="text-muted" style="font-size: 0.4em;">
9
- <%= @step.type.demodulize.titleize %> Step
10
- <%= @step.id %>
11
- </small>
12
- </h1>
11
+ <div class="row" style="margin-bottom: 32px;">
12
+ <div class="col-sm-6">
13
+ <h1><%= @step.title %></h1>
14
+ </div>
15
+ <div class="col-sm-6">
16
+ <%= link_to 'Edit Step', edit_step_path(@step), class: 'btn btn-light float-right' %>
17
+ <%= link_to "#{@step.preview_enabled ? 'Disable' : 'Enable'} Preview", toggle_step_path(@step), class: 'btn btn-light float-right mr-2' %>
18
+ <% if ::RiddlerAdmin.configuration.remote_riddler? %>
19
+ <%= link_to "Publish", new_publish_request_path(step_id: @step.id), class: "btn btn-light float-right"%>
20
+ <% end %>
21
+ <% if @step.preview_enabled %>
22
+ <span class="badge badge-success float-right mr-2 mt-2">Preview Enabled</span>
23
+ <% else %>
24
+ <span class="badge badge-secondary float-right mr-2 mt-2">Preview Disabled</span>
25
+ <% end %>
26
+ </div>
27
+ </div>
13
28
 
14
29
  <%= render partial: @step.to_partial_path("show") %>
@@ -0,0 +1,4 @@
1
+ $("#new-step").fadeOut().html("").show();
2
+
3
+ $("#<%= @step.stepable.id %>-steps")
4
+ .html("<%= j render partial: "riddler_admin/step", collection: @step.stepable.steps %>")
@@ -0,0 +1,59 @@
1
+ <div class="row" style="margin-bottom: 32px;">
2
+ <div class="col-sm">
3
+
4
+ <ul id="step-tabs" class="nav nav-tabs">
5
+ <li class="nav-item">
6
+ <a class="nav-link active" id="steps-tab" data-toggle="tab" href="#steps" role="tab" aria-controls="steps" aria-selected="true">Steps</a>
7
+ </li>
8
+ <li class="nav-item">
9
+ <a class="nav-link" id="step-definition-tab" data-toggle="tab" href="#step-definition" role="tab" aria-controls="step-definition" aria-selected="false">Definition</a>
10
+ </li>
11
+ <li class="nav-item">
12
+ <a class="nav-link" id="step-preview-tab" data-toggle="tab" href="#step-preview" role="tab" aria-controls="step-preview" aria-selected="false">Preview</a>
13
+ </li>
14
+ </ul>
15
+
16
+ </div>
17
+ </div>
18
+
19
+ <div class="row">
20
+ <div class="col-sm">
21
+
22
+ <div class="tab-content" id="step-tabs-content">
23
+ <div class="tab-pane fade show active" id="steps" role="tabpanel" aria-labelledby="steps-tab">
24
+
25
+ <div class="container">
26
+ <div class="row">
27
+ <div class="col-md-3">
28
+ <h4>Add a step type</h4>
29
+
30
+ <ul class="nav flex-column">
31
+ <% RiddlerAdmin::Step.available_classes.each do |klass| %>
32
+ <%= link_to "#{klass.short_name} Step", new_step_path(type: klass.name, step_id: @step.id), remote: true, class: 'nav-link' %>
33
+ <% end %>
34
+ </ul>
35
+
36
+ </div>
37
+ <div class="col-md-9">
38
+ <div id="new-step">
39
+ </div>
40
+
41
+ <%= render partial: "riddler_admin/step_container", locals: { stepable: @step } %>
42
+
43
+ </div>
44
+ </div>
45
+ </div>
46
+
47
+ </div>
48
+
49
+ <div class="tab-pane fade" id="step-definition" role="tabpanel" aria-labelledby="definition-tab">
50
+ <%= render partial: "definition", object: @step %>
51
+ </div>
52
+
53
+ <div class="tab-pane fade" id="step-preview" role="tabpanel" aria-labelledby="preview-tab">
54
+ <%= render partial: "riddler_admin/preview_step", locals: { preview_contexts: @preview_contexts, step: @step } %>
55
+ </div>
56
+ </div>
57
+
58
+ </div>
59
+ </div>
data/config/routes.rb CHANGED
@@ -1,6 +1,25 @@
1
1
  RiddlerAdmin::Engine.routes.draw do
2
- resources :steps
2
+ root to: "dashboard#index"
3
+
3
4
  resources :elements do
4
5
  put "sort", on: :collection
5
6
  end
7
+
8
+ resources :preview_contexts
9
+
10
+ resources :publish_requests do
11
+ post "approve", on: :member
12
+ post "publish", on: :member
13
+ end
14
+
15
+ resources :steps do
16
+ put "sort", on: :collection
17
+
18
+ get "internal_preview", on: :member
19
+ post "preview", on: :member
20
+ get "preview", on: :member
21
+ get "toggle", on: :member
22
+ end
23
+
24
+ resources :slugs
6
25
  end
@@ -0,0 +1,72 @@
1
+ class RiddlerAdminGenesis < ActiveRecord::Migration[5.2]
2
+ def change
3
+ create_table :ra_elements, id: false do |t|
4
+ t.primary_key :id, :string, index: true
5
+ t.timestamps
6
+ t.string :type, null: false
7
+ t.string :name, null: false
8
+ t.references :container, polymorphic: true, index: true, type: :string
9
+ t.integer :position
10
+ t.string :text
11
+ t.string :url
12
+ t.string :include_predicate
13
+ end
14
+
15
+ create_table :ra_content_definitions, id: false do |t|
16
+ t.primary_key :id, :string, index: true
17
+ t.timestamps
18
+ t.references :publish_request, type: :string
19
+ t.references :content, polymorphic: true, index: true, type: :string
20
+ t.integer :version, null: false
21
+ t.integer :definition_schema_version, null: false
22
+ t.jsonb :definition, null: false
23
+ end
24
+
25
+ create_table :ra_preview_contexts, id: false do |t|
26
+ t.primary_key :id, :string, index: true
27
+ t.timestamps
28
+ t.string :title, null: false
29
+ t.string :params
30
+ t.string :headers
31
+ t.string :yaml
32
+ t.string :encrypted_yaml
33
+ end
34
+ add_index :ra_preview_contexts, :title, unique: true
35
+
36
+ create_table :ra_publish_requests, id: false do |t|
37
+ t.primary_key :id, :string, index: true
38
+ t.timestamps
39
+ t.timestamp :approved_at
40
+ t.string :approved_by_id
41
+ t.string :approved_by_name
42
+ t.timestamp :published_at
43
+ t.string :title, null: false
44
+ t.string :description
45
+ t.string :status, default: "pending", null: false
46
+ t.references :content, polymorphic: true, index: true, type: :string
47
+ end
48
+
49
+ create_table :ra_steps, id: false do |t|
50
+ t.primary_key :id, :string, index: true
51
+ t.timestamps
52
+ t.string :type, null: false
53
+ t.string :title
54
+ t.string :name, null: false
55
+ t.references :stepable, polymorphic: true, index: true, type: :string
56
+ t.integer :position
57
+ t.string :include_predicate
58
+ t.boolean :preview_enabled, default: false
59
+ end
60
+
61
+ create_table :ra_slugs, id: false do |t|
62
+ t.primary_key :id, :string, index: true
63
+ t.timestamps
64
+ t.string :name, null: false
65
+ t.string :status, default: "live", null: false
66
+ t.references :content_definition, type: :string, null: false
67
+ t.string :interaction_identity
68
+ t.string :target_predicate
69
+ end
70
+ add_index :ra_slugs, :name, unique: true
71
+ end
72
+ end
data/lib/riddler_admin.rb CHANGED
@@ -2,12 +2,39 @@ require "acts_as_list"
2
2
  require "bootstrap"
3
3
  require "jquery-rails"
4
4
  require "jquery-ui-rails"
5
- require "ksuid"
5
+ require "ulid"
6
6
 
7
7
  require "riddler_admin/engine"
8
+ require "riddler_admin/configuration"
9
+ require "riddler"
8
10
 
9
11
  module RiddlerAdmin
10
12
  def self.table_name_prefix
11
- "riddler_"
13
+ "ra_"
14
+ end
15
+
16
+ def self.configure
17
+ yield configuration
18
+ end
19
+
20
+ def self.configuration
21
+ @configuration ||= ::RiddlerAdmin::Configuration.new
22
+ end
23
+
24
+ def self.config; configuration; end
25
+
26
+ def self.encrypt plaintext, key:
27
+ encoded_plaintext = Base64.strict_encode64 plaintext
28
+ secret = Vault.logical.write "transit/encrypt/#{key}",
29
+ plaintext: encoded_plaintext
30
+
31
+ secret.data[:ciphertext]
32
+ end
33
+
34
+ def self.decrypt ciphertext, key:
35
+ secret = Vault.logical.write "transit/decrypt/#{key}",
36
+ ciphertext: ciphertext
37
+
38
+ Base64.strict_decode64 secret.data[:plaintext]
12
39
  end
13
40
  end
@@ -0,0 +1,44 @@
1
+ module RiddlerAdmin
2
+
3
+ class Configuration
4
+ attr_accessor :riddler_grpc_address, :encrypt_preview_contexts,
5
+ :vault_address, :preview_context_transit_key,
6
+ :current_user_method, :user_id_method, :user_name_block,
7
+ :user_can_approve_block, :user_can_deploy_block,
8
+ :controller_authorization_block, :app_name, :main_app_name,
9
+ :javascript_includes
10
+
11
+ attr_reader :user_class_name, :user_class,
12
+ :base_controller_name, :base_controller
13
+
14
+ def initialize
15
+ @riddler_grpc_address = nil
16
+ @encrypt_preview_contexts = false
17
+ @vault_address = nil
18
+ @preview_context_transit_key = "riddler-admin-preview-context"
19
+ @app_name = "Riddler"
20
+ @user_id_method = :id
21
+ @user_name_block = -> (user) { user.name }
22
+ @javascript_includes = []
23
+ end
24
+
25
+ def remote_riddler?
26
+ riddler_grpc_address.to_s.strip != ""
27
+ end
28
+
29
+ def encrypt_preview_contexts?
30
+ !!encrypt_preview_contexts
31
+ end
32
+
33
+ def user_class_name= name
34
+ @user_class_name = name
35
+ @user_class = name.constantize
36
+ end
37
+
38
+ def base_controller_name= name
39
+ @base_controller_name = name
40
+ @base_controller = name.constantize
41
+ end
42
+ end
43
+
44
+ end
@@ -1,3 +1,3 @@
1
1
  module RiddlerAdmin
2
- VERSION = '0.1.0'
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,59 +1,45 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: riddler_admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - JohnnyT
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-13 00:00:00.000000000 Z
11
+ date: 2019-03-16 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: riddler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: rails
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
17
  - - "~>"
32
18
  - !ruby/object:Gem::Version
33
- version: 5.2.1
19
+ version: '5.2'
34
20
  type: :runtime
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
24
  - - "~>"
39
25
  - !ruby/object:Gem::Version
40
- version: 5.2.1
26
+ version: '5.2'
41
27
  - !ruby/object:Gem::Dependency
42
- name: bootstrap
28
+ name: riddler
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
31
  - - "~>"
46
32
  - !ruby/object:Gem::Version
47
- version: 4.1.3
33
+ version: '0.2'
48
34
  type: :runtime
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
38
  - - "~>"
53
39
  - !ruby/object:Gem::Version
54
- version: 4.1.3
40
+ version: '0.2'
55
41
  - !ruby/object:Gem::Dependency
56
- name: ksuid
42
+ name: bootstrap
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
45
  - - ">="
@@ -109,13 +95,13 @@ dependencies:
109
95
  - !ruby/object:Gem::Version
110
96
  version: '0'
111
97
  - !ruby/object:Gem::Dependency
112
- name: sqlite3
98
+ name: ulid-ruby
113
99
  requirement: !ruby/object:Gem::Requirement
114
100
  requirements:
115
101
  - - ">="
116
102
  - !ruby/object:Gem::Version
117
103
  version: '0'
118
- type: :development
104
+ type: :runtime
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
107
  requirements:
@@ -134,44 +120,103 @@ files:
134
120
  - Rakefile
135
121
  - app/assets/config/riddler_admin_manifest.js
136
122
  - app/assets/javascripts/riddler_admin/application.js
123
+ - app/assets/javascripts/riddler_admin/preview_contexts.js
124
+ - app/assets/javascripts/riddler_admin/publish_requests.js
137
125
  - app/assets/javascripts/riddler_admin/steps.js
138
126
  - app/assets/stylesheets/riddler_admin/application.scss
127
+ - app/assets/stylesheets/riddler_admin/preview_contexts.css
128
+ - app/assets/stylesheets/riddler_admin/publish_requests.css
139
129
  - app/assets/stylesheets/riddler_admin/steps.css
140
130
  - app/assets/stylesheets/scaffold.css
141
131
  - app/controllers/riddler_admin/application_controller.rb
132
+ - app/controllers/riddler_admin/dashboard_controller.rb
142
133
  - app/controllers/riddler_admin/elements_controller.rb
134
+ - app/controllers/riddler_admin/preview_contexts_controller.rb
135
+ - app/controllers/riddler_admin/publish_requests_controller.rb
136
+ - app/controllers/riddler_admin/slugs_controller.rb
143
137
  - app/controllers/riddler_admin/steps_controller.rb
144
138
  - app/helpers/riddler_admin/application_helper.rb
139
+ - app/helpers/riddler_admin/preview_contexts_helper.rb
140
+ - app/helpers/riddler_admin/publish_requests_helper.rb
145
141
  - app/helpers/riddler_admin/steps_helper.rb
146
142
  - app/jobs/riddler_admin/application_job.rb
147
143
  - app/mailers/riddler_admin/application_mailer.rb
148
144
  - app/models/riddler_admin/application_record.rb
145
+ - app/models/riddler_admin/content_definition.rb
149
146
  - app/models/riddler_admin/element.rb
150
- - app/models/riddler_admin/elements/copy.rb
151
147
  - app/models/riddler_admin/elements/heading.rb
148
+ - app/models/riddler_admin/elements/image.rb
149
+ - app/models/riddler_admin/elements/link.rb
150
+ - app/models/riddler_admin/elements/text.rb
151
+ - app/models/riddler_admin/elements/variant.rb
152
+ - app/models/riddler_admin/preview_context.rb
153
+ - app/models/riddler_admin/publish_request.rb
154
+ - app/models/riddler_admin/slug.rb
152
155
  - app/models/riddler_admin/step.rb
153
156
  - app/models/riddler_admin/steps/content.rb
157
+ - app/models/riddler_admin/steps/variant.rb
158
+ - app/validators/parseable_predicate_validator.rb
154
159
  - app/views/layouts/riddler_admin/application.html.erb
155
160
  - app/views/riddler_admin/_element.html.erb
161
+ - app/views/riddler_admin/_element_container.html.erb
162
+ - app/views/riddler_admin/_navbar.html.erb
163
+ - app/views/riddler_admin/_preview_step.html.erb
164
+ - app/views/riddler_admin/_step.html.erb
165
+ - app/views/riddler_admin/_step_container.html.erb
166
+ - app/views/riddler_admin/dashboard/index.html.erb
167
+ - app/views/riddler_admin/elements/_form.html.erb
156
168
  - app/views/riddler_admin/elements/_new.html.erb
157
169
  - app/views/riddler_admin/elements/_show.html.erb
158
- - app/views/riddler_admin/elements/copy/_class.html.erb
159
- - app/views/riddler_admin/elements/copy/_form.html.erb
160
170
  - app/views/riddler_admin/elements/destroy.js.erb
161
- - app/views/riddler_admin/elements/heading/_class.html.erb
171
+ - app/views/riddler_admin/elements/edit.js.erb
172
+ - app/views/riddler_admin/elements/heading/_detail.html.erb
162
173
  - app/views/riddler_admin/elements/heading/_form.html.erb
174
+ - app/views/riddler_admin/elements/image/_detail.html.erb
175
+ - app/views/riddler_admin/elements/image/_form.html.erb
176
+ - app/views/riddler_admin/elements/link/_detail.html.erb
177
+ - app/views/riddler_admin/elements/link/_form.html.erb
163
178
  - app/views/riddler_admin/elements/new.js.erb
164
179
  - app/views/riddler_admin/elements/show.js.erb
180
+ - app/views/riddler_admin/elements/text/_detail.html.erb
181
+ - app/views/riddler_admin/elements/text/_form.html.erb
182
+ - app/views/riddler_admin/elements/variant/_detail.html.erb
183
+ - app/views/riddler_admin/elements/variant/_form.html.erb
184
+ - app/views/riddler_admin/preview_contexts/_form.html.erb
185
+ - app/views/riddler_admin/preview_contexts/edit.html.erb
186
+ - app/views/riddler_admin/preview_contexts/index.html.erb
187
+ - app/views/riddler_admin/preview_contexts/new.html.erb
188
+ - app/views/riddler_admin/preview_contexts/show.html.erb
189
+ - app/views/riddler_admin/publish_requests/_actions.html.erb
190
+ - app/views/riddler_admin/publish_requests/_form.html.erb
191
+ - app/views/riddler_admin/publish_requests/approve.js.erb
192
+ - app/views/riddler_admin/publish_requests/edit.html.erb
193
+ - app/views/riddler_admin/publish_requests/index.html.erb
194
+ - app/views/riddler_admin/publish_requests/new.html.erb
195
+ - app/views/riddler_admin/publish_requests/publish.js.erb
196
+ - app/views/riddler_admin/publish_requests/show.html.erb
197
+ - app/views/riddler_admin/slugs/_form.html.erb
198
+ - app/views/riddler_admin/slugs/edit.html.erb
199
+ - app/views/riddler_admin/slugs/index.html.erb
200
+ - app/views/riddler_admin/slugs/new.html.erb
201
+ - app/views/riddler_admin/slugs/show.html.erb
202
+ - app/views/riddler_admin/steps/_definition.html.erb
165
203
  - app/views/riddler_admin/steps/_form.html.erb
166
- - app/views/riddler_admin/steps/_preview.html.erb
204
+ - app/views/riddler_admin/steps/_new_sub_step.html.erb
205
+ - app/views/riddler_admin/steps/_visual_preview.html.erb
167
206
  - app/views/riddler_admin/steps/content/_show.html.erb
168
207
  - app/views/riddler_admin/steps/edit.html.erb
169
208
  - app/views/riddler_admin/steps/index.html.erb
209
+ - app/views/riddler_admin/steps/internal_preview.js.erb
170
210
  - app/views/riddler_admin/steps/new.html.erb
211
+ - app/views/riddler_admin/steps/new.js.erb
212
+ - app/views/riddler_admin/steps/preview.json.erb
171
213
  - app/views/riddler_admin/steps/show.html.erb
214
+ - app/views/riddler_admin/steps/show.js.erb
215
+ - app/views/riddler_admin/steps/variant/_show.html.erb
172
216
  - config/routes.rb
173
- - db/migrate/20181124201519_create_riddler_admin_steps.rb
217
+ - db/migrate/20181124201519_riddler_admin_genesis.rb
174
218
  - lib/riddler_admin.rb
219
+ - lib/riddler_admin/configuration.rb
175
220
  - lib/riddler_admin/engine.rb
176
221
  - lib/riddler_admin/version.rb
177
222
  - lib/tasks/riddler_admin_tasks.rake