Sha256: 0c96772f9193fc5cbb5eb4ee2c748481bbb49217e2ac835c79b789a7252b8f72

Contents?: true

Size: 1.16 KB

Versions: 1

Compression:

Stored size: 1.16 KB

Contents

module VimeoRuby
  class User < VimeoRuby::Base
    attr_reader :vimeo_id, :available_for_hire, :bio, :can_work_remotely, :location, :name, :profile_link, :additional_info

    def initialize(attrs: {})
      @vimeo_id = extract_vimeo_id_from_uri(attrs.delete("uri"))
      @available_for_hire = attrs.delete("available_for_hire")
      @bio = attrs.delete("bio")
      @can_work_remotely = attrs.delete("can_work_remotely")
      @location = attrs.delete("location")
      @name = attrs.delete("name")
      @profile_link = attrs.delete("link")
      @additional_info = attrs
    end

    def self.get_user(user_id)
      user_info = get("#{base_uri}/users/#{user_id}")
      new(attrs: user_info)
    end

    def base_uri
      self.class.base_uri
    end

    def uploaded_videos(query_params: {})
      uploaded_videos_response = self.class.get("#{base_uri}/users/#{vimeo_id}/videos", query_params: query_params)
      uploaded_videos = uploaded_videos_response["data"]
      VimeoRuby::User::UploadedVideoCollection.new(uploaded_videos)
    end

    def available_for_hire?
      @available_for_hire
    end

    def can_work_remotely?
      @can_work_remotely
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vimeo_ruby-0.2.0 lib/vimeo_ruby/user.rb