class Evertils::Grammar

Attributes

created[RW]
intitle[RW]
notebook[RW]
tags[RW]

Public Class Methods

new() click to toggle source

Available grammars dev.evernote.com/doc/articles/search_grammar.php @since 1.0.12

# File lib/evertils/grammar.rb, line 10
def initialize
  @tags = []
  @grammar = []
  @notebook = nil
  @intitle = nil
  @created = Date.today.strftime('%Y%m%d')
end

Public Instance Methods

to_s() click to toggle source

@since 1.0.12

# File lib/evertils/grammar.rb, line 20
def to_s
  @grammar = []
  stringify_properties
  stringify_tags unless @tags.empty?

  @grammar.join(' ')
end

Private Instance Methods

stringify_properties() click to toggle source

@since 1.0.12

# File lib/evertils/grammar.rb, line 40
def stringify_properties
  # automatically convert the non-hash properties to EN grammar key/value
  # pairs
  grammars_used = methods - Object.instance_methods
  grammars_used.reject! { |k, _| k.to_s.end_with?('=') || k == :tags }

  grammars_used.each do |grammar|
    value = send(grammar)
    @grammar.push("#{grammar}:#{value}") unless value.nil?
  end
end
stringify_tags() click to toggle source

@since 1.0.12

# File lib/evertils/grammar.rb, line 32
def stringify_tags
  @tags.each_pair do |k, v|
    @grammar.push("tag:#{k}-#{v}")
  end
end