simplec 0.1.0 → 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 (40) hide show
  1. checksums.yaml +4 -4
  2. metadata +2 -40
  3. data/MIT-LICENSE +0 -20
  4. data/README.md +0 -258
  5. data/Rakefile +0 -36
  6. data/app/assets/config/simplec_manifest.js +0 -2
  7. data/app/assets/fonts/simplec/summernote.eot +0 -0
  8. data/app/assets/fonts/simplec/summernote.ttf +0 -0
  9. data/app/assets/fonts/simplec/summernote.woff +0 -0
  10. data/app/assets/javascripts/simplec/application.js +0 -13
  11. data/app/assets/javascripts/simplec/summernote-config.js +0 -82
  12. data/app/assets/javascripts/simplec/summernote.js +0 -7046
  13. data/app/assets/stylesheets/simplec/application.css +0 -15
  14. data/app/assets/stylesheets/simplec/summernote.scss +0 -691
  15. data/app/constraints/simplec/subdomains.rb +0 -23
  16. data/app/controllers/simplec/application_controller.rb +0 -9
  17. data/app/controllers/simplec/pages_controller.rb +0 -19
  18. data/app/helpers/simplec/application_helper.rb +0 -4
  19. data/app/jobs/simplec/application_job.rb +0 -4
  20. data/app/mailers/simplec/application_mailer.rb +0 -6
  21. data/app/models/simplec/application_record.rb +0 -5
  22. data/app/models/simplec/embedded_image.rb +0 -15
  23. data/app/models/simplec/page.rb +0 -203
  24. data/app/models/simplec/subdomain.rb +0 -30
  25. data/app/views/simplec/fields/_editor.html.erb +0 -5
  26. data/app/views/simplec/fields/_image.html.erb +0 -14
  27. data/app/views/simplec/fields/_string.html.erb +0 -4
  28. data/app/views/simplec/fields/_text.html.erb +0 -4
  29. data/app/views/simplec/pages/show.html.erb +0 -2
  30. data/config/routes.rb +0 -8
  31. data/db/migrate/20170809204353_create_simplec_pages.rb +0 -30
  32. data/db/migrate/20170809204511_create_simplec_subdomains.rb +0 -12
  33. data/db/migrate/20170809210304_create_simplec_embedded_images.rb +0 -15
  34. data/lib/simplec.rb +0 -5
  35. data/lib/simplec/action_controller/extensions.rb +0 -56
  36. data/lib/simplec/action_view/helper.rb +0 -118
  37. data/lib/simplec/embedded_image_actions.rb +0 -37
  38. data/lib/simplec/engine.rb +0 -18
  39. data/lib/simplec/version.rb +0 -3
  40. data/lib/tasks/simplec_tasks.rake +0 -4
data/lib/simplec.rb DELETED
@@ -1,5 +0,0 @@
1
- require "simplec/engine"
2
-
3
- module Simplec
4
- # TODO configuration options
5
- end
@@ -1,56 +0,0 @@
1
- module Simplec
2
- module ActionController
3
- module Extensions
4
-
5
- def self.included(receiver)
6
- receiver.helper_method :subdomain, :page,
7
- :simplec_path, :simplec_url
8
- end
9
-
10
- def subdomain(name=nil)
11
- name ||= request.subdomain
12
- @_subdomains ||= Hash.new
13
- return @_subdomains[name] if @_subdomains[name]
14
- @_subdomains[name] = Subdomain.find_by!(name: name)
15
- end
16
-
17
- def page(path, options={})
18
- @_page ||= Hash.new
19
- return @_page[path] if @_page[path]
20
-
21
- _subdomain = subdomain
22
- _subdomain = Subdomain.find_by!(
23
- name: options[:subdomain]
24
- ) if options[:subdomain]
25
-
26
- @_page[path] = _subdomain.pages.find_by!(path: path)
27
- end
28
-
29
- def simplec_path(page_or_path, options={})
30
- # TODO cache page_paths
31
- _page = page_or_path.is_a?(Page) ?
32
- page_or_path : page(page_or_path, options)
33
-
34
- unless _page
35
- raise ActiveRecord::RecordNotFound if options[:raise]
36
- return nil
37
- end
38
-
39
- _page.path
40
- end
41
-
42
- def simplec_url(page_or_path, options={})
43
- # TODO cache page_urls
44
- _page = page_or_path.is_a?(Page) ?
45
- page_or_path : page(page_or_path, options)
46
-
47
- unless _page
48
- raise ActiveRecord::RecordNotFound if options[:raise]
49
- return nil
50
- end
51
-
52
- URI.join(root_url(subdomain: _page.subdomain.try(:name)), _page.path).to_s
53
- end
54
- end
55
- end
56
- end
@@ -1,118 +0,0 @@
1
- module Simplec
2
- module ActionView
3
- module Helper
4
-
5
- def head(page)
6
- content_for :title, page.title
7
- content_for :meta_description, page.meta_description
8
- end
9
-
10
- def title
11
- content_for :title
12
- end
13
-
14
- def meta_description_tag
15
- tag :meta, name: 'description', content: content_for(:meta_description)
16
- end
17
-
18
- def template(page)
19
- _template = page.type.demodulize.downcase
20
- render "pages/#{_template}"
21
- end
22
-
23
- def page_field(f, options={})
24
- render "simplec/fields/#{options[:type]}", options.merge(f: f)
25
- end
26
-
27
- # Retreive a document.
28
- #
29
- # slug - matching a Document slug.
30
- # options[:subdomain] - a string matching a Subdomain name, find a document
31
- # from another subdomain
32
- # options[:raise] - if true, casuse a 404 if document isn't found
33
- #
34
- # Example:
35
- #
36
- # -# Save as...
37
- # <%= link_to doc('/permission/general').name,
38
- # doc('/permission/general').path,
39
- # download: true %>
40
- #
41
- # -# Display in new window...
42
- # <%= link_to doc('/permission/general').name,
43
- # doc('/permission/general').path,
44
- # target: '_blank' %>
45
- #
46
- def doc(slug, options={})
47
- @_docs ||= Hash.new
48
- key = "[#{options[:subdomain]}][#{slug}]"
49
- return @_docs[key] if @_docs[key]
50
- @_docs[key] = subdomain(options[:subdomain]).
51
- documents.find_by(slug: slug)
52
- raise ActiveRecord::RecordNotFound if options[:raise] && !@_docs[key]
53
- @_docs[key]
54
- end
55
-
56
- # Retreive a document.
57
- #
58
- # slug - matching a Document slug.
59
- # options[:subdomain] - a string matching a Subdomain name, find a document
60
- # set from another subdomain
61
- # options[:raise] - if true, casuse a 404 if document set isn't found
62
- #
63
- # Example:
64
- #
65
- # <% docset('/faith').each do |doc| %>
66
- # <%= link_to doc.name, doc.path %>
67
- # <% end %>
68
- #
69
- def docset(slug, options={})
70
- @_docsets ||= Hash.new
71
- key = "[#{options[:subdomain]}][#{slug}]"
72
- return @_docsets[key] if @_docsets[key]
73
- set = subdomain(options[:subdomain]).
74
- document_sets.find_by(slug: slug)
75
- raise ActiveRecord::RecordNotFound if options[:raise] && !set
76
- @_docsets[key] = set.documents
77
- end
78
-
79
- # page_or_path - a page object or a path of a page
80
- # options[:subdomain] - a string matching a Subdomain name, find a page
81
- # from another subdomain
82
- # options[:raise] - if true, casuse a 404 if a page set isn't found
83
- #
84
- # Example:
85
- #
86
- # <% subpages('/give-volunteer', conditions: ->{ order(title: :asc) }).each do |page| %>
87
- # ... do something with page ...
88
- # <% end%>
89
- def subpages(page_or_path, options={})
90
- if options[:conditions] && !options[:conditions].respond_to?(:call)
91
- raise ArgumentError, <<-ERROR
92
- #{options[:conditions]} was passed as :conditions but is not callable.
93
- "Pass a callable instead: `conditions: -> { where(approved: true) }`
94
- ERROR
95
- end
96
-
97
- @_subpages ||= Hash.new # TODO apply new conditions after cache
98
- key = "[#{options[:subdomain]}][#{page_or_path}]"
99
-
100
- unless @_subpages[key]
101
- page = page_or_path.is_a?(Page) ? page_or_path : nil
102
- page ||= subdomain(options[:subdomain]).pages.find_by(path: page_or_path)
103
-
104
- unless page
105
- raise ActiveRecord::RecordNotFound if options[:raise]
106
- return @_subpages[key] = Array.new
107
- end
108
-
109
- @_subpages[key] = page.subpages
110
- end
111
-
112
- @_subpages[key].respond_to?(:merge) && options[:conditions] ?
113
- @_subpages[key].merge(options[:conditions]) : @_subpages[key]
114
- end
115
- end
116
-
117
- end
118
- end
@@ -1,37 +0,0 @@
1
- module Simplec
2
- module EmbeddedImageActions
3
- module ClassMethods; end
4
-
5
- module InstanceMethods
6
-
7
- def create
8
- @embedded_image = EmbeddedImage.new(embedded_image_params)
9
- if @embedded_image.save
10
- respond_to do |format|
11
- format.json {
12
- render :show, status: 201, location: @embedded_image.url
13
- }
14
- end
15
- else
16
- respond_to do |format|
17
- format.json {
18
- render status: 422, json: @embedded_image.errors
19
- }
20
- end
21
- end
22
- end
23
-
24
- private
25
-
26
- def embedded_image_params
27
- params.permit(:asset_url, :asset_name)
28
- end
29
-
30
- end
31
-
32
- def self.included(receiver)
33
- receiver.extend ClassMethods
34
- receiver.send :include, InstanceMethods
35
- end
36
- end
37
- end
@@ -1,18 +0,0 @@
1
- require 'simplec/action_controller/extensions'
2
- require 'simplec/action_view/helper'
3
-
4
- module Simplec
5
- class Engine < ::Rails::Engine
6
- isolate_namespace Simplec
7
-
8
- initializer "simplec_controller_extensions" do
9
- ActiveSupport.on_load(:action_controller_base) {
10
- prepend Simplec::ActionController::Extensions
11
- helper Simplec::ActionView::Helper
12
- }
13
- ActiveSupport.on_load(:active_record) {
14
- Dir["#{Rails.root}/app/models/page/*.rb"].each {|file| require_dependency file }
15
- }
16
- end
17
- end
18
- end
@@ -1,3 +0,0 @@
1
- module Simplec
2
- VERSION = '0.1.0'
3
- end
@@ -1,4 +0,0 @@
1
- # desc "Explaining what the task does"
2
- # task :simplec do
3
- # # Task goes here
4
- # end