Sha256: e31408049bc6e16c915a53952d974df57b7350d7e2c7142e86fcabc3f09d9fdc

Contents?: true

Size: 1.1 KB

Versions: 12

Compression:

Stored size: 1.1 KB

Contents

module Peaty
  
  class Project < Base
    
    def users(options = {})
      Array.wrap(self.memberships).map do |membership|
        membership = membership["membership"] if membership.key?("membership")
        User.with_connection(self.connection).new(membership["person"])
      end
    end
    
    def stories(options = {})
      Proxy.new(Story, self.class.connection, options.merge(:project_id => self.id))
    end
    
    def iterations(options = {})
      Proxy.new(Iteration, self.class.connection, options.merge(:project_id => self.id))
    end
    
    def features(options = {})
      self.stories.filter(:type => :feature)
    end
    def releases(options = {})
      self.stories.filter(:type => :release)
    end
    def chores(options = {})
      self.stories.filter(:type => :chore)
    end
    def bugs(options = {})
      self.stories.filter(:type => :bug)
    end
    
    class << self
      def element
        "project"
      end
      def collection_path(options = {})
        "/projects"
      end
      def member_path(id, options = {})
        "/projects/%i" % id
      end
    end
    
  end
  
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
peaty-0.6.0.beta1 lib/peaty/project.rb
peaty-0.5.0 lib/peaty/project.rb
peaty-0.4.8 lib/peaty/project.rb
peaty-0.4.7 lib/peaty/project.rb
peaty-0.4.6 lib/peaty/project.rb
peaty-0.4.5 lib/peaty/project.rb
peaty-0.4.4 lib/peaty/project.rb
peaty-0.4.3 lib/peaty/project.rb
peaty-0.4.2 lib/peaty/project.rb
peaty-0.4.1 lib/peaty/project.rb
peaty-0.4.0 lib/peaty/project.rb
peaty-0.3.0 lib/peaty/project.rb