Class: Renshuu::Kanji

Inherits:
Model
  • Object
show all
Includes:
Listable, Schedulable
Defined in:
lib/renshuu/models/kanji.rb

Overview

Model class for kanji.

Defined Under Namespace

Classes: RelatedWord

Instance Attribute Summary collapse

Class Method Summary collapse

Methods included from Listable

#add_to_list, included, #remove_from_list

Methods included from Schedulable

#add_to_schedule, included, #remove_from_schedule

Instance Attribute Details

#definitionString (readonly)

Returns:

  • (String)


47
# File 'lib/renshuu/models/kanji.rb', line 47

attribute :definition, Types::String

#idString (readonly)

Returns:

  • (String)


39
# File 'lib/renshuu/models/kanji.rb', line 39

attribute :id, Types::String

#jlptString? (readonly)

Returns:

  • (String, nil)


76
# File 'lib/renshuu/models/kanji.rb', line 76

attribute? :jlpt, Types::String

#kanjiString (readonly)

Returns:

  • (String)


43
# File 'lib/renshuu/models/kanji.rb', line 43

attribute :kanji, Types::String

#kankenString? (readonly)

Returns:

  • (String, nil)


72
# File 'lib/renshuu/models/kanji.rb', line 72

attribute? :kanken, Types::String

#kunyomiString? (readonly)

Returns:

  • (String, nil)


68
# File 'lib/renshuu/models/kanji.rb', line 68

attribute? :kunyomi, Types::String

#onyomiString? (readonly)

Returns:

  • (String, nil)


64
# File 'lib/renshuu/models/kanji.rb', line 64

attribute? :onyomi, Types::String

#presencePresence? (readonly)

Returns:



111
# File 'lib/renshuu/models/kanji.rb', line 111

attribute? :presence, Presence

#radicalString? (readonly)

Returns:

  • (String, nil)


56
# File 'lib/renshuu/models/kanji.rb', line 56

attribute? :radical, Types::String

#radical_nameString? (readonly)

Returns:

  • (String, nil)


60
# File 'lib/renshuu/models/kanji.rb', line 60

attribute? :radical_name, Types::String

#rwordsArray<RelatedWord>? (readonly)

Returns:



103
# File 'lib/renshuu/models/kanji.rb', line 103

attribute? :rwords, Types::Array.of(RelatedWord)

#scountInteger? (readonly) Also known as: stroke_count

Returns:

  • (Integer, nil)


51
# File 'lib/renshuu/models/kanji.rb', line 51

attribute? :scount, Types::Integer

#user_dataUserData? (readonly)

Returns:



107
# File 'lib/renshuu/models/kanji.rb', line 107

attribute? :user_data, UserData

Class Method Details

.get(character) ⇒ Kanji

Retrieves a kanji from Renshuu’s dictionary.

Parameters:

  • character (String)

Returns:



30
31
32
33
34
# File 'lib/renshuu/models/kanji.rb', line 30

def self.get(character)
  cgi_character = CGI.escape(character)
  body = Renshuu.client.query(:get, "v1/kanji/#{cgi_character}")
  new(body)
end

.search(value) ⇒ Array<Kanji>

Searches the Renshuu kanji dictionary.

Parameters:

  • value (String)

Returns:



18
19
20
21
22
# File 'lib/renshuu/models/kanji.rb', line 18

def self.search(value)
  body = Renshuu.client.query(:get, 'v1/kanji/search', params: { value: })

  body.fetch(:kanjis).map { Kanji.new(_1) }
end