udongo 1.0.0 → 1.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f653f73b0217efa872c2c95ba0783abc619759c7
4
- data.tar.gz: 11a751bfb31b7bb8ad63e61deff0d68d9ad981c9
3
+ metadata.gz: a741be7e19b1fe104859632571d9df99fbd9e307
4
+ data.tar.gz: 475674d26ab25c95e1c548bdfe851142670a533c
5
5
  SHA512:
6
- metadata.gz: 6fd818e7d16aed0a1577018f55f3fa5986480ee41498e7c8e752be3a3f3b4feff0cece1575c8968ec7f70e902658628b61aae95bf0b202b2b9934c3761152591
7
- data.tar.gz: a7651642f1ad02aa54039ad91326a1d1913b8dedd50a95548f16f639a2a18c28064af4917f9fe1e08fe222d511cbc398ea44438c5e9352d8e0c6e7ca0ddf909c
6
+ metadata.gz: ddeb74872a714284c0a5a63fd2d8de7b36ba01fab7bb36d628a0a23b73a4bd5775b823febd31ed14b7064f1c9ee90fbd437e8eeac9d0b5d6917723561feef8db
7
+ data.tar.gz: ca5cc722453d9f9c1458ea823ca881cb866cf41e13615c938ca03239ed111c26dfbf3881698c62a0e6d11b50b9c4368c134b48de2fd7c336f87690f97a28f26c
@@ -14,5 +14,5 @@
14
14
  */
15
15
 
16
16
  @import 'bootstrap';
17
- @import 'backend/bootstrap-datepicker.min';
17
+ @import 'backend/bootstrap-datepicker.css';
18
18
  @import 'udongo';
@@ -41,9 +41,6 @@ class Backend::PagesController < BackendController
41
41
  render json: { moved: @model.set_position(params[:position], params[:parent_id]) }
42
42
  end
43
43
 
44
- def edit_translation
45
- end
46
-
47
44
  def destroy
48
45
  render json: { trashed: @model.destroy }
49
46
  end
@@ -9,21 +9,28 @@ class Backend::SnippetsController < BackendController
9
9
  end
10
10
 
11
11
  def new
12
- @model = ::Snippet.new
12
+ @form = Backend::SnippetForm.new
13
+ # @model = ::Snippet.new
13
14
  end
14
15
 
15
16
  def create
16
- @model = ::Snippet.new allowed_params
17
+ @form = Backend::SnippetForm.new
17
18
 
18
- if @model.save
19
- redirect_to edit_translation_backend_snippet_path(@model, translation_locale: default_locale), notice: translate_notice(:added, :snippet)
19
+ if @form.save params[:snippet]
20
+ redirect_to edit_translation_backend_snippet_path(@form.snippet, translation_locale: default_locale), notice: translate_notice(:added, :snippet)
20
21
  else
21
22
  render :new
22
23
  end
23
24
  end
24
25
 
26
+ def edit
27
+ @form = Backend::SnippetForm.new(@model)
28
+ end
29
+
25
30
  def update
26
- if @model.update_attributes(allowed_params)
31
+ @form = Backend::SnippetForm.new(@model)
32
+
33
+ if @form.save params[:snippet]
27
34
  redirect_to edit_backend_snippet_path(@model), notice: translate_notice(:edited, :snippet)
28
35
  else
29
36
  render :edit
@@ -42,8 +49,4 @@ class Backend::SnippetsController < BackendController
42
49
  translation: @model.translation(params[:translation_locale])
43
50
  )
44
51
  end
45
-
46
- def allowed_params
47
- params.require('snippet').permit(:identifier, :description)
48
- end
49
52
  end
@@ -0,0 +1,54 @@
1
+ class Backend::SnippetForm
2
+ include ActiveModel::Model
3
+ include Virtus.model
4
+
5
+ attr_reader :snippet
6
+
7
+ attribute :identifier, String
8
+ attribute :description, String
9
+
10
+ validates :identifier, :description, presence: true
11
+ validate :unique_identifier
12
+
13
+ delegate :id, to: :snippet
14
+
15
+ def initialize(snippet = nil)
16
+ @snippet = snippet || ::Snippet.new
17
+ attributes.keys.each { |k| send("#{k}=", @snippet.send(k)) } if snippet
18
+ end
19
+
20
+ def self.model_name
21
+ ::Snippet.model_name
22
+ end
23
+
24
+ def persisted?
25
+ !@snippet.new_record?
26
+ end
27
+
28
+ def save(params)
29
+ attributes.keys.each { |k| send("#{k}=", params[k]) }
30
+
31
+ if valid?
32
+ save_snippet
33
+ true
34
+ else
35
+ false
36
+ end
37
+ end
38
+
39
+ private
40
+
41
+ def unique_identifier
42
+ qry = ::Snippet.unscoped
43
+ qry = qry.where.not(identifier: @snippet.identifier) if persisted?
44
+
45
+ if qry.exists?(identifier: identifier)
46
+ errors.add :identifier, I18n.t('errors.messages.taken')
47
+ end
48
+ end
49
+
50
+ def save_snippet
51
+ attributes.each { |k, v| @snippet.send("#{k}=", v) }
52
+ @snippet.save!
53
+ end
54
+ end
@@ -1,9 +1,7 @@
1
1
  class Comment < ActiveRecord::Base
2
2
  include Concerns::Parentable
3
3
  include Concerns::Locale
4
-
5
4
  include Concerns::Spammable
6
- spammable author_email: :email, content: :message
7
5
 
8
6
  STATUSES = %w(pending_moderation published)
9
7
 
@@ -5,20 +5,12 @@ module Concerns
5
5
  extend ActiveSupport::Concern
6
6
 
7
7
  included do
8
- include Rakismet::Model
9
-
10
8
  scope :spam, ->{ where(marked_as_spam: true) }
11
9
  scope :not_spam, -> { where('marked_as_spam = 0 OR marked_as_spam IS NULL') }
12
10
 
13
11
  after_initialize :spam_defaults
14
12
  end
15
13
 
16
- module ClassMethods
17
- def spammable(*args)
18
- rakismet_attrs *args
19
- end
20
- end
21
-
22
14
  def mark_as_spam!
23
15
  update_attribute :marked_as_spam, true
24
16
  end
@@ -1,4 +1,4 @@
1
- <%= simple_form_for [:backend, @model] do |f| %>
1
+ <%= simple_form_for [:backend, @form] do |f| %>
2
2
  <div class="row">
3
3
  <div class="col-md-6">
4
4
  <div class="card">
@@ -1,3 +1,3 @@
1
1
  module Udongo
2
- VERSION = '1.0.0'
2
+ VERSION = '1.0.1'
3
3
  end
data/lib/udongo.rb CHANGED
@@ -15,7 +15,6 @@ require 'simple_form'
15
15
  require 'acts_as_list'
16
16
  require 'carrierwave'
17
17
  require 'reform'
18
- require 'rakismet'
19
18
  require 'draper'
20
19
  require 'ransack'
21
20
  require 'ckeditor'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: udongo
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Davy Hellemans
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-06-05 00:00:00.000000000 Z
12
+ date: 2016-06-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -25,20 +25,6 @@ dependencies:
25
25
  - - '='
26
26
  - !ruby/object:Gem::Version
27
27
  version: 4.2.6
28
- - !ruby/object:Gem::Dependency
29
- name: mysql2
30
- requirement: !ruby/object:Gem::Requirement
31
- requirements:
32
- - - "~>"
33
- - !ruby/object:Gem::Version
34
- version: 0.3.20
35
- type: :runtime
36
- prerelease: false
37
- version_requirements: !ruby/object:Gem::Requirement
38
- requirements:
39
- - - "~>"
40
- - !ruby/object:Gem::Version
41
- version: 0.3.20
42
28
  - !ruby/object:Gem::Dependency
43
29
  name: jquery-rails
44
30
  requirement: !ruby/object:Gem::Requirement
@@ -239,46 +225,6 @@ dependencies:
239
225
  - - ">="
240
226
  - !ruby/object:Gem::Version
241
227
  version: 0.10.0
242
- - !ruby/object:Gem::Dependency
243
- name: rakismet
244
- requirement: !ruby/object:Gem::Requirement
245
- requirements:
246
- - - "~>"
247
- - !ruby/object:Gem::Version
248
- version: '1.5'
249
- - - ">="
250
- - !ruby/object:Gem::Version
251
- version: 1.5.1
252
- type: :runtime
253
- prerelease: false
254
- version_requirements: !ruby/object:Gem::Requirement
255
- requirements:
256
- - - "~>"
257
- - !ruby/object:Gem::Version
258
- version: '1.5'
259
- - - ">="
260
- - !ruby/object:Gem::Version
261
- version: 1.5.1
262
- - !ruby/object:Gem::Dependency
263
- name: marked-rails
264
- requirement: !ruby/object:Gem::Requirement
265
- requirements:
266
- - - "~>"
267
- - !ruby/object:Gem::Version
268
- version: '0.3'
269
- - - ">="
270
- - !ruby/object:Gem::Version
271
- version: 0.3.2
272
- type: :runtime
273
- prerelease: false
274
- version_requirements: !ruby/object:Gem::Requirement
275
- requirements:
276
- - - "~>"
277
- - !ruby/object:Gem::Version
278
- version: '0.3'
279
- - - ">="
280
- - !ruby/object:Gem::Version
281
- version: 0.3.2
282
228
  - !ruby/object:Gem::Dependency
283
229
  name: reform
284
230
  requirement: !ruby/object:Gem::Requirement
@@ -439,6 +385,20 @@ dependencies:
439
385
  - - ">="
440
386
  - !ruby/object:Gem::Version
441
387
  version: 1.0.5
388
+ - !ruby/object:Gem::Dependency
389
+ name: mysql2
390
+ requirement: !ruby/object:Gem::Requirement
391
+ requirements:
392
+ - - "~>"
393
+ - !ruby/object:Gem::Version
394
+ version: 0.3.20
395
+ type: :development
396
+ prerelease: false
397
+ version_requirements: !ruby/object:Gem::Requirement
398
+ requirements:
399
+ - - "~>"
400
+ - !ruby/object:Gem::Version
401
+ version: 0.3.20
442
402
  - !ruby/object:Gem::Dependency
443
403
  name: sqlite3
444
404
  requirement: !ruby/object:Gem::Requirement
@@ -550,6 +510,7 @@ files:
550
510
  - app/forms/backend/email_template_translation_form.rb
551
511
  - app/forms/backend/navigation_item_translation_form.rb
552
512
  - app/forms/backend/page_translation_form.rb
513
+ - app/forms/backend/snippet_form.rb
553
514
  - app/forms/backend/snippet_translation_form.rb
554
515
  - app/helpers/backend/dropdown_helper.rb
555
516
  - app/helpers/backend/pagination_helper.rb