loyal_core 0.0.10 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
@@ -9,8 +9,19 @@ module LoyalCore
9
9
  include ::LoyalCore::Ajax::LikeTracksHelper
10
10
  include ::LoyalCore::FontSelectorHelper
11
11
 
12
-
12
+ def link_to_loyal_current yes_no, name, url, options={}
13
+ current_options = options.dup
14
+ current_options[:class] ||= ""
13
15
 
16
+ unless current_options[:class].include?('current')
17
+ current_options[:class] << ' ' if current_options[:class].present?
18
+ current_options[:class] << 'current'
19
+ end
20
+
21
+ link_to_if yes_no, name, url, current_options do
22
+ link_to name, url, options
23
+ end
24
+ end
14
25
 
15
26
  def render_new_simple_captcha_partial options={}
16
27
  render :partial => '/loyal_core/ajax/captchas/new', :locals => {
@@ -13,7 +13,7 @@ module LoyalCore::ActionView
13
13
  )
14
14
  end
15
15
 
16
- %w[kindeditor url_field text_field text_area password_field collection_select].each do |method_name|
16
+ %w[kindeditor number_field url_field text_field text_area password_field collection_select].each do |method_name|
17
17
  define_method method_name do |name, *args|
18
18
  @template.content_tag :div, class: "field" do
19
19
  (field_label name, *args) + @template.tag(:br) + super(name, *args)
@@ -72,6 +72,12 @@ module LoyalCore::ActionView
72
72
  )
73
73
  end
74
74
 
75
+ def labeled_check_box(name, *args)
76
+ @template.content_tag :div, class: 'field' do
77
+ check_box(name, *args) + ' ' + field_label(name, *args)
78
+ end
79
+ end
80
+
75
81
  # def check_box(name, *args)
76
82
  # @template.content_tag :div, class: 'field' do
77
83
  # super + ' ' + field_label(name, *args)
@@ -17,6 +17,8 @@ module LoyalCore
17
17
  autoload :ActsAsSkinDishAble, "#{File.dirname(__FILE__)}/acts/skin_dish_able"
18
18
 
19
19
  autoload :ActsAsCreatorAble, "#{File.dirname(__FILE__)}/acts/creator_able"
20
+
21
+ autoload :ActsAsPublishStatusAble, "#{File.dirname(__FILE__)}/acts/publish_status_able"
20
22
  end
21
23
 
22
24
  if defined?(ActiveRecord::Base)
@@ -36,4 +38,5 @@ if defined?(ActiveRecord::Base)
36
38
  ::ActiveRecord::Base.send :include, ::LoyalCore::ActsAsSkinDishAble
37
39
 
38
40
  ::ActiveRecord::Base.send :include, ::LoyalCore::ActsAsCreatorAble
41
+ ::ActiveRecord::Base.send :include, ::LoyalCore::ActsAsPublishStatusAble
39
42
  end
@@ -50,7 +50,7 @@ module LoyalCore
50
50
  worker_class.content_mode_config
51
51
  end
52
52
 
53
- delegate :words_amount_more?, :content=, :content, :content_text, :words_amount,
53
+ delegate :content=, :content, :content_text, :words_amount, :words_amount_more?,
54
54
  :content_code=, :content_code,
55
55
  :content_mode, :content_mode=,
56
56
 
@@ -0,0 +1,75 @@
1
+ # -*- encoding : utf-8 -*-
2
+ module LoyalCore
3
+ # 发布状态相关
4
+ module ActsAsPublishStatusAble
5
+ def self.included base
6
+ base.class_eval do
7
+ extend ClassMethods
8
+ end
9
+ end
10
+
11
+ module ClassMethods
12
+ def loyal_core_acts_as_publish_status_able *args
13
+ _config = ::LoyalCore::ConfigUtil.new(
14
+ {:key => 'init', :value => 0, :desc => '初始'},
15
+ {:key => 'published', :value => 2**1, :desc => '已发布'},
16
+ {:key => 'blocked', :value => 2**2, :desc => '已屏蔽'}
17
+ )
18
+
19
+ define_singleton_method :publish_status_config do
20
+ _config
21
+ end
22
+
23
+ _config.pure_keys.each do |key, config|
24
+ define_method :"publish_status_#{key}?" do
25
+ self.publish_status_key == key
26
+ end
27
+ end
28
+
29
+ scope :of_publish_status, ->(status_name) do
30
+ if status_name
31
+ status_name = status_name.to_s unless status_name.is_a?(String)
32
+ config = _config.at(status_name)
33
+ status = config.nil? ? nil : config.value
34
+
35
+ where(:publish_status => status)
36
+ end
37
+ end
38
+
39
+ scope :published, -> do
40
+ of_publish_status('published')
41
+ end
42
+
43
+ include InstanceMethods
44
+ end
45
+
46
+ module InstanceMethods
47
+
48
+ def publish_status_config
49
+ self.class.publish_status_config.item(self.publish_status)
50
+ end
51
+
52
+ def publish_status_key
53
+ self.publish_status_config.key if self.publish_status_config
54
+ end
55
+
56
+ def publish_status_name
57
+ self.publish_status_key
58
+ end
59
+
60
+ def publish_status_name= name
61
+ config = self.class.publish_status_config.at(name)
62
+
63
+ if config
64
+ self.publish_status = config.value
65
+ end
66
+ end
67
+
68
+ def publish_status_desc
69
+ self.publish_status_config.desc if self.publish_status_config
70
+ end
71
+
72
+ end
73
+ end
74
+ end
75
+ end
@@ -1,8 +1,8 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  module LoyalCore
3
3
  class ConfigUtil
4
- attr_reader :config_values_map, :pure_values, :select_options,
5
- :default_item
4
+ attr_reader :config_values_map, :select_options,
5
+ :default_item, :config_keys_map, :pure_keys, :pure_values
6
6
 
7
7
  # config*
8
8
  # [
@@ -29,6 +29,9 @@ module LoyalCore
29
29
 
30
30
  impl_collect_item args
31
31
 
32
+ @pure_values = @config_values_map.keys.freeze
33
+ @pure_keys = @config_keys_map.keys.freeze
34
+
32
35
  @config_values_map.freeze
33
36
  @config_keys_map.freeze
34
37
  @select_options.freeze
@@ -106,81 +109,3 @@ module LoyalCore
106
109
  end
107
110
  end
108
111
 
109
- # module LoyalCore
110
- # # 配置工具类
111
- # class ConfigUtil < ::Hash
112
- # attr_reader :config_values_map, :pure_values
113
- #
114
- # #
115
- # # configs:
116
- # # {
117
- # # :john => { :value => 1, :desc => '约翰' },
118
- # # :liming => { :value => 2, :desc => '黎明' },
119
- # # :have => {
120
- # # :book => {
121
- # # :value => 3, :desc => ''
122
- # # }
123
- # # }
124
- # # ...
125
- # # }
126
- # def initialize(*args)
127
- # configs = args.extract_options!
128
- # @default_key = args.first
129
- # @config_values_map = {}
130
- #
131
- # configs.each do |key, item|
132
- # self[key] = ConfigUtilItem.new(item.merge(:key => key))
133
- # @config_values_map[self[key].value] = self[key]
134
- # end
135
- #
136
- # @config_values_map.freeze
137
- # @pure_values = @config_values_map.keys.freeze
138
- #
139
- # @select_options = (
140
- # self.values.map do |item|
141
- # [item.desc, item.value]
142
- # end
143
- # ).freeze
144
- #
145
- # self.freeze
146
- # end
147
- #
148
- # def at(key)
149
- # self[key]
150
- # end
151
- #
152
- # def item(value)
153
- # @config_values_map[value] || ( self[@default_key] unless @default_key.nil? )
154
- # end
155
- #
156
- # # options:
157
- # # - include_blank:
158
- # def select_options options={}
159
- # result = @select_options.dup
160
- #
161
- # if options.key?(:include_blank)
162
- # if options[:include_blank].is_a?(::Hash)
163
- # result.insert(0, [options[:include_blank][:desc] || '- - 请选择 - -', options[:include_blank][:value].to_i])
164
- # elsif options[:include_blank]
165
- # result.insert(0, ['- - 请选择 - -', 0])
166
- # end
167
- # end
168
- #
169
- # result
170
- # end
171
- # end
172
- #
173
- # class ConfigUtilItem
174
- # def initialize(item={})
175
- # @item = item || {}
176
- # end
177
- #
178
- # def [] key
179
- # @item[key]
180
- # end
181
- #
182
- # def method_missing(method_name, *args, &block)
183
- # @item[method_name.to_sym]
184
- # end
185
- # end
186
- # end
@@ -15,7 +15,7 @@ module LoyalCore
15
15
  doc.search("//pre").each do |pre|
16
16
  lang = pre.attr('lang')
17
17
 
18
- if lang.blank?
18
+ if lang
19
19
  _lang_class = pre.attr('class').to_s.split(' ').select {|_itm| _itm.include?('lang-') }.first
20
20
 
21
21
  if _lang_class
@@ -24,11 +24,11 @@ module LoyalCore
24
24
  end
25
25
 
26
26
  # debugger
27
- if (pre_code=pre.css('code')).any?
27
+ if pre_code=pre.css('code')
28
28
  lang = pre_code.attr('class').to_s
29
29
  end
30
30
 
31
- if lang.blank?
31
+ unless lang
32
32
  lang = :text
33
33
  end
34
34
 
@@ -37,11 +37,11 @@ module LoyalCore
37
37
  begin
38
38
  pre.replace ::CodeRay.scan(text, lang).div.to_s
39
39
  rescue Exception => error
40
- Rails.logger.debug "#{__FILE__} syntax_highlighter error: \ntext => #{text} \nlang => #{lang}\n origin error:#{error}"
40
+ puts "#{__FILE__} syntax_highlighter error: \ntext => #{text} \nlang => #{lang}\n origin error:#{error}"
41
41
  end
42
42
  end
43
43
 
44
- doc.css('body').try(:inner_html).to_s
44
+ doc.css('body').inner_html.to_s
45
45
  end
46
46
  end
47
47
  end
@@ -1,4 +1,4 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  module LoyalCore
3
- VERSION = "0.0.10"
3
+ VERSION = "0.0.11"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: loyal_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.0.11
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-08-11 00:00:00.000000000 Z
12
+ date: 2013-09-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: protected_attributes
@@ -496,6 +496,7 @@ files:
496
496
  - lib/loyal_core/acts/creator_able.rb
497
497
  - lib/loyal_core/acts/bit_able.rb
498
498
  - lib/loyal_core/acts/uuid_ful.rb
499
+ - lib/loyal_core/acts/publish_status_able.rb
499
500
  - lib/loyal_core/acts/skin_dish_able.rb
500
501
  - lib/loyal_core/acts/like_track_able.rb
501
502
  - lib/loyal_core/acts/tree.rb
@@ -529,7 +530,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
529
530
  version: '0'
530
531
  segments:
531
532
  - 0
532
- hash: -172726748522545
533
+ hash: -2891372383451455765
533
534
  required_rubygems_version: !ruby/object:Gem::Requirement
534
535
  none: false
535
536
  requirements:
@@ -538,7 +539,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
538
539
  version: '0'
539
540
  segments:
540
541
  - 0
541
- hash: -172726748522545
542
+ hash: -2891372383451455765
542
543
  requirements: []
543
544
  rubyforge_project:
544
545
  rubygems_version: 1.8.25