Class: MusicBrainz::Model::DefaultFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/rbrainz/model/default_factory.rb

Overview

A factory to create model classes.

Instance Method Summary collapse

Instance Method Details

#new_aliasObject



59
60
61
# File 'lib/rbrainz/model/default_factory.rb', line 59

def new_alias
  Alias.new
end

#new_artistObject



39
40
41
# File 'lib/rbrainz/model/default_factory.rb', line 39

def new_artist
  Artist.new
end

#new_discObject



63
64
65
# File 'lib/rbrainz/model/default_factory.rb', line 63

def new_disc
  Disc.new
end

#new_entity(entity_type) ⇒ Object

Creates a new entity for a given entity type (:artist, :label, :release or :track).



24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/rbrainz/model/default_factory.rb', line 24

def new_entity(entity_type)
  case entity_type
    when Artist.entity_type
      new_artist
    when Label.entity_type
      new_label
    when ReleaseGroup.entity_type
      new_release_group
    when Release.entity_type
      new_release
    when Track.entity_type
      new_track
  end
end

#new_labelObject



43
44
45
# File 'lib/rbrainz/model/default_factory.rb', line 43

def new_label
  Label.new
end

#new_ratingObject



79
80
81
# File 'lib/rbrainz/model/default_factory.rb', line 79

def new_rating
  Rating.new
end

#new_relationObject



67
68
69
# File 'lib/rbrainz/model/default_factory.rb', line 67

def new_relation
  Relation.new
end

#new_releaseObject



51
52
53
# File 'lib/rbrainz/model/default_factory.rb', line 51

def new_release
  Release.new
end

#new_release_eventObject



71
72
73
# File 'lib/rbrainz/model/default_factory.rb', line 71

def new_release_event
  ReleaseEvent.new
end

#new_release_groupObject



47
48
49
# File 'lib/rbrainz/model/default_factory.rb', line 47

def new_release_group
  ReleaseGroup.new
end

#new_tagObject



75
76
77
# File 'lib/rbrainz/model/default_factory.rb', line 75

def new_tag
  Tag.new
end

#new_trackObject



55
56
57
# File 'lib/rbrainz/model/default_factory.rb', line 55

def new_track
  Track.new
end

#new_userObject



83
84
85
# File 'lib/rbrainz/model/default_factory.rb', line 83

def new_user
  User.new
end