Class: INatGet::Data::Model::Observation

Inherits:
INatGet::Data::Model show all
Includes:
Comparable, Identified
Defined in:
lib/inat-get/data/models/observation.rb

Sequel Fields collapse

Sequel Associations collapse

Instance Method Summary collapse

Methods included from Identified

#eql?, #hash

Methods inherited from INatGet::Data::Model

endpoint, helper, manager, parser, updater

Instance Attribute Details

#accuracy ⇒ Integer?

Sequel data field

Returns:

  • (Integer, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#annotations ⇒ Sequel::Dataset, Array<INatGet::Data::Model::Annotation>

Sequel one-to-many association.

Returns:



28
# File 'lib/inat-get/data/models/observation.rb', line 28

one_to_many :annotations,     class: INatGet::Data::Model::Annotation

#cached ⇒ Time

Sequel data field

Returns:

  • (Time)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#captive ⇒ Boolean?

Sequel data field

Returns:

  • (Boolean, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#created ⇒ Time

Sequel data field

Returns:

  • (Time)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#created_day ⇒ Integer

Sequel data field

Returns:

  • (Integer)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#created_hour ⇒ Integer

Sequel data field

Returns:

  • (Integer)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#created_month ⇒ Integer

Sequel data field

Returns:

  • (Integer)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#created_timezone ⇒ String?

Sequel data field

Returns:

  • (String, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#created_week ⇒ Integer

Sequel data field

Returns:

  • (Integer)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#created_year ⇒ Integer

Sequel data field

Returns:

  • (Integer)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#description ⇒ String?

Sequel data field

Returns:

  • (String, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#endemic ⇒ Boolean?

Sequel data field

Returns:

  • (Boolean, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#faves ⇒ Sequel::Dataset, Array<INatGet::Data::Model::Fave>

Sequel one-to-many association.

Returns:



25
# File 'lib/inat-get/data/models/observation.rb', line 25

one_to_many :faves,           class: INatGet::Data::Model::Fave

#geoprivacy ⇒ String?

Sequel data field

Returns:

  • (String, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#id ⇒ Integer

Sequel data field

Returns:

  • (Integer)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#identifications ⇒ Sequel::Dataset, Array<INatGet::Data::Model::Identification>

Sequel one-to-many association.

Returns:



27
# File 'lib/inat-get/data/models/observation.rb', line 27

one_to_many :identifications, class: INatGet::Data::Model::Identification

#introduced ⇒ Boolean?

Sequel data field

Returns:

  • (Boolean, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#latitude ⇒ Float?

Sequel data field

Returns:

  • (Float, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#license ⇒ String?

Sequel data field

Returns:

  • (String, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#longitude ⇒ Float?

Sequel data field

Returns:

  • (Float, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#manual_projects ⇒ Sequel::Dataset, Array<INatGet::Data::Model::Project>

Sequel many-to-many association.

Returns:



36
# File 'lib/inat-get/data/models/observation.rb', line 36

many_to_many :manual_projects, class: :'INatGet::Data::Model::Project', join_table: :observation_projects, left_key: :observation_id, right_key: :project_id

#mappable ⇒ Boolean?

Sequel data field

Returns:

  • (Boolean, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#native ⇒ Boolean?

Sequel data field

Returns:

  • (Boolean, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#obscured ⇒ Boolean?

Sequel data field

Returns:

  • (Boolean, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#observed ⇒ Time?

Sequel data field

Returns:

  • (Time, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#observed_day ⇒ Integer?

Sequel data field

Returns:

  • (Integer, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#observed_hour ⇒ Integer?

Sequel data field

Returns:

  • (Integer, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#observed_month ⇒ Integer?

Sequel data field

Returns:

  • (Integer, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#observed_timezone ⇒ String?

Sequel data field

Returns:

  • (String, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#observed_week ⇒ Integer?

Sequel data field

Returns:

  • (Integer, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#observed_winter ⇒ Integer?

Sequel data field

Returns:

  • (Integer, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#observed_year ⇒ Integer?

Sequel data field

Returns:

  • (Integer, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#out_of_range ⇒ Boolean?

Sequel data field

Returns:

  • (Boolean, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#photos ⇒ Sequel::Dataset, Array<INatGet::Data::Model::Photo>

Sequel many-to-many association.

Returns:



33
# File 'lib/inat-get/data/models/observation.rb', line 33

many_to_many :photos, class: INatGet::Data::Model::Photo, join_table: :observation_photos, left_key: :observation_id, right_key: :photo_id

#places ⇒ Sequel::Dataset, Array<INatGet::Data::Model::Place>

Sequel many-to-many association.

Returns:



35
# File 'lib/inat-get/data/models/observation.rb', line 35

many_to_many :places, class: INatGet::Data::Model::Place, join_table: :observation_places, left_key: :observation_id, right_key: :place_id

#quality_grade ⇒ String

Sequel data field

Returns:

  • (String)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#sounds ⇒ Sequel::Dataset, Array<INatGet::Data::Model::Sound>

Sequel many-to-many association.

Returns:



34
# File 'lib/inat-get/data/models/observation.rb', line 34

many_to_many :sounds, class: INatGet::Data::Model::Sound, join_table: :observation_sounds, left_key: :observation_id, right_key: :sound_id

#tags ⇒ Sequel::Dataset, Array<INatGet::Data::Model::Tag>

Sequel one-to-many association.

Returns:



26
# File 'lib/inat-get/data/models/observation.rb', line 26

one_to_many :tags,            class: INatGet::Data::Model::Tag

#taxon ⇒ INatGet::Data::Model::Taxon?

Sequel many-to-one association.

Returns:



30
# File 'lib/inat-get/data/models/observation.rb', line 30

many_to_one :taxon, class: INatGet::Data::Model::Taxon

#taxon_geoprivacy ⇒ String?

Sequel data field

Returns:

  • (String, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#taxon_id ⇒ Integer?

Sequel data field

Returns:

  • (Integer, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#threatened ⇒ Boolean?

Sequel data field

Returns:

  • (Boolean, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#updated ⇒ Time

Sequel data field

Returns:

  • (Time)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#user ⇒ INatGet::Data::Model::User?

Sequel many-to-one association.

Returns:



31
# File 'lib/inat-get/data/models/observation.rb', line 31

many_to_one :user,  class: INatGet::Data::Model::User

#user_id ⇒ Integer

Sequel data field

Returns:

  • (Integer)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

#uuid ⇒ String?

Sequel data field

Returns:

  • (String, nil)


23
# File 'lib/inat-get/data/models/observation.rb', line 23

set_dataset :observations

Instance Method Details

#<=>(other) ⇒ Object



52
53
54
55
# File 'lib/inat-get/data/models/observation.rb', line 52

def <=> other
  return nil unless other.is_a?(INatGet::Data::Model::Observation)
  self.id <=> other.id
end

#photo_licenses ⇒ Object



38
39
40
# File 'lib/inat-get/data/models/observation.rb', line 38

def photo_licenses
  photos.map(&:license)
end

#sound_licenses ⇒ Object



42
43
44
# File 'lib/inat-get/data/models/observation.rb', line 42

def sound_licenses
  sounds.map(&:license)
end

#tag_values ⇒ Object



46
47
48
# File 'lib/inat-get/data/models/observation.rb', line 46

def tag_values
  tags.map(&:tag)
end