lib/evertils/common/entity.rb in evertils-common-0.3.9 vs lib/evertils/common/entity.rb in evertils-common-0.3.10
- old
+ new
@@ -2,13 +2,52 @@
module Common
module Entity
class Base < Common::Generic
attr_accessor :entity
+ REPLACEMENTS = {
+ '%DOY%': Date.today.yday,
+ '%MONTH_NAME%': Date.today.strftime('%B'),
+ '%MONTH%': Date.today.month,
+ '%DAY%': Date.today.day,
+ '%DOW%': Date.today.wday,
+ '%DOW_NAME%': Date.today.strftime('%a'),
+ '%YEAR%': Date.today.year,
+ '%WEEK%': Date.today.cweek,
+ '%WEEK_START%': Date.commercial(Date.today.year, Date.today.cweek, 1),
+ '%WEEK_END%': Date.commercial(Date.today.year, Date.today.cweek, 5)
+ }
+
def initialize
@evernote = Authentication.instance
super
+ end
+
+ def placeholders_for(items)
+ items.map do |item|
+ REPLACEMENTS.each_pair do |k, v|
+ item.last.gsub!(k.to_s, v.to_s) if item.last.is_a? String
+ item.last.map { |i| i.gsub!(k.to_s, v.to_s) } if item.last.is_a? Array
+ end
+ end
+
+ symbolize_keys(items)
+ end
+
+ def symbolize_keys(hash)
+ hash.inject({}){ |result, (key, value)|
+ new_key = case key
+ when String then key.to_sym
+ else key
+ end
+ new_value = case value
+ when Hash then symbolize_keys(value)
+ else value
+ end
+ result[new_key] = new_value
+ result
+ }
end
#
# @since 0.2.8
def start_of_day(date = ::Time.now)
\ No newline at end of file