ants 0.2.3 → 0.2.4

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: f8072151f9881c54d6d51d563bee240aa5ec3ea3
4
- data.tar.gz: 35573aec450297203ca30dcce476357f00b95480
3
+ metadata.gz: 473241abeff9161336290855d89a455e3c9ca416
4
+ data.tar.gz: dbb4139bad372a87b141c26470d46089ff5e66ab
5
5
  SHA512:
6
- metadata.gz: 655608bf9b6ed33ddce2a4d124ba0f3d69a0afddb521daf3fb1c419b60689c87f5a5e167e530b0c36fa32fee043e4a7c1ddfeb80689937bf7224dd73d15d8fb2
7
- data.tar.gz: b94386d8dfcd3e2c9e8cb32b1d33aa07bf05682be84d491a41af49571846f9766b3cf93bab764d93f8d6e3dfaec9650cdfbcc5db4c8362a9c2815b0c1d1a4c08
6
+ metadata.gz: fb8f7568cde05ea717805a96ecb18053a92656e8eb450b9b0d30bc96de353f3ef18738d34596282407e1f7bab332d88698022c8e6b32f11f0cef666fbc989017
7
+ data.tar.gz: 84e4f5afba7c3056005bca4fefb1494b32bb382a2a48bac5d9e01a5751d81b2f7ac6cd69feacf52108f4c16aadf51258497a96399b3075876953db4d9dd5aa48
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ants (0.2.3)
4
+ ants (0.2.4)
5
5
  devise
6
6
  mongoid (>= 4.0)
7
7
  mongoid-slug (>= 4.0.0)
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- ants
2
+ Ants
3
3
  ======
4
4
  [![GitHub version](https://badge.fury.io/gh/slate-studio%2Fants.svg)](http://badge.fury.io/gh/slate-studio%2Fants)
5
5
  [![Build Status](https://travis-ci.org/slate-studio/ants.svg)](https://travis-ci.org/slate-studio/ants)
@@ -9,6 +9,65 @@ ants
9
9
  Collection of concerns and helpers for Rails + Mongoid + Character web development
10
10
 
11
11
 
12
+ ### Orderable
13
+
14
+ Adds ordering functionality to the model. Default order is assending by `_position` field.
15
+
16
+ Usage:
17
+
18
+ ```ruby
19
+ include Ants:Orderable
20
+ ```
21
+
22
+ **NOTE:** If this concern is added to model with already existing documents, value for `_position` field should be initialized with this command:
23
+
24
+ ```ruby
25
+ ModelClass.all.set(_position: 1000)
26
+ ```
27
+
28
+
29
+ ### Meta
30
+
31
+ Adds set of page meta fields and creates default methods that should be overriden if necessary:
32
+
33
+ - `_meta_title`
34
+ - `_meta_description`
35
+ - `_meta_keywords`
36
+ - `_opengraph_image_url`
37
+
38
+ Usage:
39
+
40
+ ```ruby
41
+ include Ants:Meta
42
+ ```
43
+
44
+
45
+ ### Hideable
46
+
47
+ When you need to hide some documents from public or often used as draft analogue:
48
+
49
+ Usage:
50
+
51
+ ```ruby
52
+ include Ants:Hideable
53
+ ```
54
+
55
+ Scopes:
56
+
57
+ - `hidden`
58
+ - `not_hidden`
59
+
60
+ Helpers:
61
+
62
+ - `hide!`
63
+ - `unhide!`
64
+ - `hidden?`
65
+
66
+
67
+ ### Slug
68
+
69
+
70
+
12
71
  ### Sorted Relations
13
72
 
14
73
  In Mongoid, the HM & HABTM relations return docs in random order. This workaround provides an ability to retrieve related documents in the same order it was stored.
@@ -33,5 +92,23 @@ Usage example:
33
92
 
34
93
  post.sorted_authors.map(&:name)
35
94
  #=> ['Alexander Kravets', 'Roman Brazhnyk', 'Maxim Melnyk']
36
- ```
95
+ ```
96
+
97
+
98
+ ### Versions
99
+
100
+ Provides a helper method to get a list of document versions, used by `chr` + `mongosteen`:
101
+
102
+ Usage:
103
+
104
+ ```ruby
105
+ include Ants:Versions
106
+ ```
107
+
108
+ Helpers:
109
+
110
+ - `_document_versions`
111
+
112
+
113
+
37
114
 
@@ -0,0 +1,28 @@
1
+ class @AntsMenu
2
+ constructor: (title, apiPath) ->
3
+ config =
4
+ title: title
5
+
6
+ objectStore: new RailsObjectStore({
7
+ resource: 'menu'
8
+ path: "#{ apiPath }"
9
+ })
10
+
11
+ formSchema:
12
+ links:
13
+ type: 'documents'
14
+ newButtonLabel: 'Add a Link'
15
+ sortBy: '_position'
16
+ formSchema:
17
+ title:
18
+ type: 'string'
19
+
20
+ url:
21
+ type: 'string'
22
+
23
+ target_blank:
24
+ type: 'checkbox'
25
+ default: false
26
+ label: 'Open in a new tab'
27
+
28
+ return config
@@ -0,0 +1,3 @@
1
+ class Admin::MenusController < Admin::BaseController
2
+ mongosteen
3
+ end
@@ -0,0 +1,18 @@
1
+ module MenuHelper
2
+ def menu(name)
3
+ menu = Menu.find_by(name: name)
4
+ html = ''
5
+
6
+ menu.links.each do |l|
7
+ if l.target_blank
8
+ html << link_to(l.title, l.url, _target: '_blank')
9
+
10
+ else
11
+ html << link_to(l.title, l.url)
12
+
13
+ end
14
+ end
15
+
16
+ html.html_safe
17
+ end
18
+ end
@@ -0,0 +1,19 @@
1
+ class Menu
2
+ include Mongoid::Document
3
+ include Mongoid::Timestamps
4
+ include Ants::Id
5
+ include Ants::Slug
6
+
7
+ ## Attributes
8
+ field :name
9
+
10
+ ## Slug
11
+ slug :name
12
+
13
+ ## Relations
14
+ embeds_many :links, class_name: 'MenuLink'
15
+ accepts_nested_attributes_for :links, allow_destroy: true
16
+
17
+ ## Index
18
+ index name: 1
19
+ end
@@ -0,0 +1,14 @@
1
+ class MenuLink
2
+ include Mongoid::Document
3
+ include Mongoid::Timestamps
4
+ include Ants::Id
5
+ include Ants::Orderable
6
+
7
+ ## Attributes
8
+ field :title
9
+ field :url
10
+ field :target_blank, type: Boolean, default: false
11
+
12
+ ## Relations
13
+ embedded_in :menu, class_name: 'Menu'
14
+ end
data/lib/ants/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ants
2
- VERSION = "0.2.3"
2
+ VERSION = "0.2.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ants
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Kravets
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-04 00:00:00.000000000 Z
11
+ date: 2015-11-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mongoid
@@ -155,14 +155,19 @@ files:
155
155
  - ants.gemspec
156
156
  - app/assets/javascripts/ants.coffee
157
157
  - app/assets/javascripts/ants/admins.coffee
158
+ - app/assets/javascripts/ants/menu.coffee
158
159
  - app/assets/javascripts/ants/redirects.coffee
159
160
  - app/assets/stylesheets/ants.scss
160
161
  - app/assets/stylesheets/chr/header.scss
161
162
  - app/controllers/admin/admins_controller.rb
163
+ - app/controllers/admin/menus_controller.rb
162
164
  - app/controllers/admin/redirects_controller.rb
163
165
  - app/controllers/redirects_controller.rb
166
+ - app/helpers/menu_helper.rb
164
167
  - app/mailers/admin_mailer.rb
165
168
  - app/models/admin.rb
169
+ - app/models/menu.rb
170
+ - app/models/menu_link.rb
166
171
  - app/models/redirect.rb
167
172
  - lib/ants.rb
168
173
  - lib/ants/engine.rb