[IC:SymbolHash{;:Octopi::FileObject#typeo:$YARD::CodeObjects::MethodObject:@signature" def type: @source"def type @type end:@namespaceo:#YARD::CodeObjects::ClassObject:@superclasso:YARD::CodeObjects::Proxy; o:$YARD::CodeObjects::ModuleObject:@class_mixinsIC:&YARD::CodeObjects::CodeObjectList[: @owner@ ; o:"YARD::CodeObjects::RootObject;IC;[;@; 0:@docstringIC:YARD::Docstring" :@tag_factoryo:YARD::Tags::Library: @factoryo:YARD::Tags::DefaultFactory: @all": @tags[:@ref_tags[: @object@: @aliases{:@childrenIC;[@ o; ; o; ; @: @obj0: @name: Object;IC;[;@; @;IC;" ;o;;@;":@line_range0;[;[;@;{;IC;[o;;"Adef camel_case self.gsub(/(^|_)(.)/) { $2.upcase } end; "=def camel_case self.gsub(/(^|_)(.)/) { $2.upcase } end; @: @linei;IC;" ;o;;@;";"0;[;[;@":@parameters[:@explicitT: @scope: instance;[:@current_file_has_commentsF:@visibility: public: @files[["lib/octopi/base.rbi; :camel_case;@;[;(F:@attributesIC;{: classIC;{:@symbolize_valueT;'IC;{;/T;/T;+[[@.i:@instance_mixinsIC;[;@; : Stringo; ; o; ; @;0; : Array;IC;[;@6; @;IC;" ;o;;@;";"0;[;[;@6;{;IC;[o;;"tdef find(title) key = detect { |key| key.title == title } raise NotFound, Key if key.nil? key end; "ldef find(title) key = detect { |key| key.title == title } raise NotFound, Key if key.nil? key end; @6;#i ;IC;" ;o;;@;";"0;[o:YARD::Tags::Tag :@tag_name" raise: @text": @types[" NotFound;@@; 0;[;@@;$[[" title0;%T;&;';[;(F;);*;+[["lib/octopi/key_set.rbi ; : findo;;"*def add(opts) Key.add(opts) end; "&def add(opts) Key.add(opts) end; @6;#i;IC;" ;o;;@;";"0;[;[;@T;$[[" opts0;%T;&;';[;(F;);*;+[[@Si; :add;@6;[;(F;-IC;{;.IC;{;/T;'IC;{;/T;/T;+[[@Si;0IC;[o; ; @6;@ ; : Octopi;@6; : KeySet;@;[;(F;-IC;{;.IC;{;/T;'IC;{;/T;/T;+[;0IC;[;@; : root;IC;" ;o;;@;";"0;[;[;@ ;{;IC;[o; ; o; ; @ ;0; ;!;IC;[;@w; @ ;IC;"zThis is the real API class. API requests are limited to 60 per minute. Sets up basic methods for accessing the API. ;o;;@;[ " This is the real API class.""/API requests are limited to 60 per minute.""1Sets up basic methods for accessing the API.;"o: Range: begini": exclF:endi&;[;[;@w;{o;;"qdef repository(name) repo = Repository.find(user, name, self) repo.api = self repo end; "adef repository(name) repo = Repository.find(user, name, self) repo.api = self repo end; @w;IC;" ;o;;@;0;"0;[;[;@;$[;&;';[;(F;);*;+[["lib/octopi/api.rbi_[@i_; : repo:repository;IC;[%o;;"def format=(value); "-def format=(value) @format = value end; @w;IC;" Sets the attribute +format+ ;o;;@;"YSets the attribute +format+ @param value the value to set the attribute +format+ to.;"0;[o;3 ;4" param;5"0the value to set the attribute +format+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@i ; : format=o;;"def format; "def format @format end; @w;IC;",Returns the value of attribute +format+ ;o;;@;",Returns the value of attribute +format+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; : formato;;"def login=(value); "+def login=(value) @login = value end; @w;IC;"Sets the attribute +login+ ;o;;@;"WSets the attribute +login+ @param value the value to set the attribute +login+ to.;"0;[o;3 ;4" param;5"/the value to set the attribute +login+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@i ; : login=o;;"def login; "def login @login end; @w;IC;"+Returns the value of attribute +login+ ;o;;@;"+Returns the value of attribute +login+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; : logino;;"def token=(value); "+def token=(value) @token = value end; @w;IC;"Sets the attribute +token+ ;o;;@;"WSets the attribute +token+ @param value the value to set the attribute +token+ to.;"0;[o;3 ;4" param;5"/the value to set the attribute +token+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@i ; : token=o;;"def token; "def token @token end; @w;IC;"+Returns the value of attribute +token+ ;o;;@;"+Returns the value of attribute +token+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; : tokeno;;"def trace_level=(value); "7def trace_level=(value) @trace_level = value end; @w;IC;"%Sets the attribute +trace_level+ ;o;;@;"cSets the attribute +trace_level+ @param value the value to set the attribute +trace_level+ to.;"0;[o;3 ;4" param;5"5the value to set the attribute +trace_level+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@i ; :trace_level=o;;"def trace_level; "'def trace_level @trace_level end; @w;IC;"1Returns the value of attribute +trace_level+ ;o;;@;"1Returns the value of attribute +trace_level+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; :trace_levelo;;"def read_only=(value); "3def read_only=(value) @read_only = value end; @w;IC;"#Sets the attribute +read_only+ ;o;;@;"_Sets the attribute +read_only+ @param value the value to set the attribute +read_only+ to.;"0;[o;3 ;4" param;5"3the value to set the attribute +read_only+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@i ; :read_only=o;;"def read_only; "#def read_only @read_only end; @w;IC;"/Returns the value of attribute +read_only+ ;o;;@;"/Returns the value of attribute +read_only+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; :read_onlyo:+YARD::CodeObjects::ClassVariableObject;"*@@api = Octopi::AnonymousApi.instance; "*@@api = Octopi::AnonymousApi.instance; @w;#i(;IC;" ;o;;@;";"0;[;[;@;[;(F;+[[@i(; : @@apio;L;"@@authenticated = false; "@@authenticated = false; @w;#i);IC;" ;o;;@;";"0;[;[;@&;[;(F;+[[@i); :@@authenticatedo:&YARD::CodeObjects::ConstantObject;"CONTENT_TYPE = { 'yaml' => 'application/x-yaml', 'json' => 'application/json', 'xml' => 'application/sml' } ; "wCONTENT_TYPE = { 'yaml' => 'application/x-yaml', 'json' => 'application/json', 'xml' => 'application/sml' }; @w;#i,;IC;" ;o;;@;";"0;[;[;@1;[;(F: @value"t{ 'yaml' => 'application/x-yaml', 'json' => 'application/json', 'xml' => 'application/sml' };+[[@i,; :CONTENT_TYPEo;O;"RETRYABLE_STATUS = [403]; "RETRYABLE_STATUS = [403]; @w;#i1;IC;" ;o;;@;";"0;[;[;@=;[;(F;P" [403];+[[@i1; :RETRYABLE_STATUSo;O;"MAX_RETRIES = 10; "MAX_RETRIES = 10; @w;#i2;IC;" ;o;;@;";"0;[;[;@I;[;(F;P"10;+[[@i2; :MAX_RETRIESo;;"9def self.authenticated @@authenticated end; "1def self.authenticated @@authenticated end; @w;#i6;IC;"uWould be nice if cattr_accessor was available, oh well. We use this to check if we use the auth or anonymous api ;o;;@;["F;?i4;[;[;@U;$[;%T;&;.;[;(T;);*;+[[@i6; :authenticatedo;;"Idef self.authenticated=(value) @@authenticated = value end; "Adef self.authenticated=(value) @@authenticated = value end; @w;#i;;IC;"2We set this to true when the user has auth'd. ;o;;@;["2We set this to true when the user has auth'd.;"o;<;=i:;>F;?i:;[;[;@d;$[[" value0;%T;&;.;[;(T;);*;+[[@i;; :authenticated=o;;"%def self.api @@api end; "def self.api @@api end; @w;#i@;IC;"The API we're using ;o;;@;["The API we're using ;"o;<;=i?;>F;?i?;[;[;@t;$[;%T;&;.;[;(T;);*;+[[@i@; :apio;;"5def self.api=(value) @@api = value end; "-def self.api=(value) @@api = value end; @w;#iE;IC;"set the API we're using ;o;;@;["set the API we're using;"o;<;=iD;>F;?iD;[;[;@;$[[" value0;%T;&;.;[;(T;);*;+[[@iE; : api=o;;"def user user_data = get("/user/show/#{login}") raise "Unexpected response for user command" unless user_data and user_data['user'] User.new(user_data['user']) end; "def user user_data = get("/user/show/#{login}") raise "Unexpected response for user command" unless user_data and user_data['user'] User.new(user_data['user']) end; @w;#iP;IC;" ;o;;@;";"0;[;[;@;$[;%T;&;';[;(F;);*;+[[@iP; : usero;;"Zdef open_issue(user, repo, params) Issue.open(user, repo, params, self) end; "Rdef open_issue(user, repo, params) Issue.open(user, repo, params, self) end; @w;#iV;IC;" ;o;;@;";"0;[;[;@;$[[" user0[" repo0[" params0;%T;&;';[;(F;);*;+[[@iV; :open_issueo;;@; "adef repository(name) repo = Repository.find(user, name, self) repo.api = self repo end; @w;#iZ;IC;" ;o;;@;";"0;[;[;@;$[[" name0;%T;&;';[;(F;);*;+[[@iZ; ;A@o;;"~def commits(repo,opts={}) branch = opts[:branch] || "master" commits = Commit.find_all(repo, branch, self) end; "wdef commits(repo,opts={}) branch = opts[:branch] || "master" commits = Commit.find_all(repo, branch, self) end; @w;#ia;IC;" ;o;;@;";"0;[;[;@;$[[" repo0[" opts"{};%T;&;';[;(F;);*;+[[@ia; : commitso;;"def save(resource_path, data) traslate resource_path, data #still can't figure out on what format values are expected post("#{resource_path}", { :query => data }) end; "def save(resource_path, data) traslate resource_path, data #still can't figure out on what format values are expected post("#{resource_path}", { :query => data }) end; @w;#if;IC;" ;o;;@;";"0;[;[;@;$[["resource_path0[" data0;%T;&;';[;(F;);*;+[[@if; : saveo;;"odef find(path, result_key, resource_id, klass=nil) get(path, { :id => resource_id }, klass) end; "gdef find(path, result_key, resource_id, klass=nil) get(path, { :id => resource_id }, klass) end; @w;#il;IC;" ;o;;@;";"0;[;[;@;$[ [" path0["result_key0["resource_id0[" klass"nil;%T;&;';[;(F;);*;+[[@il; ;7o;;"~def find_all(path, result_key, query, klass=nil) get(path, { :query => query, :id => query }, klass)[result_key] end; "{def find_all(path, result_key, query, klass=nil) get(path, { :query => query, :id => query }, klass)[result_key] end; @w;#iq;IC;" ;o;;@;";"0;[;[;@;$[ [" path0["result_key0[" query0[" klass"nil;%T;&;';[;(F;);*;+[[@iq; : find_allo;;"Ydef get_raw(path, params, klass=nil) get(path, params, klass, 'plain') end; "Qdef get_raw(path, params, klass=nil) get(path, params, klass, 'plain') end; @w;#iu;IC;" ;o;;@;";"0;[;[;@;$[[" path0[" params0[" klass"nil;%T;&;';[;(F;);*;+[[@iu; : get_rawo;;"tdef get(path, params = {}, klass=nil, format = "yaml") @@retries = 0 begin trace "GET [#{format}]", "/#{format}#{path}", params submit(path, params, klass, format) do |path, params, format| self.class.get "/#{format}#{path}" end rescue RetryableAPIError => e if @@retries < MAX_RETRIES $stderr.puts e.message @@retries += 1 sleep 6 retry else raise APIError, "GitHub returned status #{e.code}, despite" + " repeating the request #{MAX_RETRIES} times. Giving up." end end end; ",def get(path, params = {}, klass=nil, format = "yaml") @@retries = 0 begin trace "GET [#{format}]", "/#{format}#{path}", params submit(path, params, klass, format) do |path, params, format| self.class.get "/#{format}#{path}" end rescue RetryableAPIError => e if @@retries < MAX_RETRIES $stderr.puts e.message @@retries += 1 sleep 6 retry else raise APIError, "GitHub returned status #{e.code}, despite" + " repeating the request #{MAX_RETRIES} times. Giving up." end end end; @w;#iy;IC;" ;o;;@;";"0;[;[;@;$[ [" path0[" params"{}[" klass"nil[" format" "yaml";%T;&;';[;(F;);*;+[[@iy; :geto;;"def post(path, params = {}, klass=nil, format = "yaml") @@retries = 0 begin trace "POST", "/#{format}#{path}", params submit(path, params, klass, format) do |path, params, format| resp = self.class.post "/#{format}#{path}", :body => params resp end rescue RetryableAPIError => e if @@retries < MAX_RETRIES $stderr.puts e.message @@retries += 1 sleep 6 retry else raise APIError, "GitHub returned status #{e.code}, despite" + " repeating the request #{MAX_RETRIES} times. Giving up." end end end; "?def post(path, params = {}, klass=nil, format = "yaml") @@retries = 0 begin trace "POST", "/#{format}#{path}", params submit(path, params, klass, format) do |path, params, format| resp = self.class.post "/#{format}#{path}", :body => params resp end rescue RetryableAPIError => e if @@retries < MAX_RETRIES $stderr.puts e.message @@retries += 1 sleep 6 retry else raise APIError, "GitHub returned status #{e.code}, despite" + " repeating the request #{MAX_RETRIES} times. Giving up." end end end; @w;#i;IC;" ;o;;@;";"0;[;[;@2;$[ [" path0[" params"{}[" klass"nil[" format" "yaml";%T;&;';[;(F;);*;+[[@i; : posto;;"def submit(path, params = {}, klass=nil, format = "yaml", &block) params.each_pair do |k,v| if path =~ /:#{k.to_s}/ params.delete(k) path = path.gsub(":#{k.to_s}", v) end end query = login ? { :login => login, :token => token } : {} query.merge!(params) begin resp = yield(path, query.merge(params), format) rescue Net::HTTPBadResponse raise RetryableAPIError end if @trace_level == "curl" query_trace = [] query.each_pair { |k,v| query_trace << "-F '#{k}=#{v}'" } puts "===== [curl version]" puts "curl #{query_trace.join(" ")} #{self.class.base_uri}/#{format}#{path}" puts "====================" end raise RetryableAPIError, resp.code.to_i if RETRYABLE_STATUS.include? resp.code.to_i raise NotFound, klass || self.class if resp.code.to_i == 404 raise APIError, "GitHub returned status #{resp.code}" unless resp.code.to_i == 200 # FIXME: This fails for showing raw Git data because that call returns # text/html as the content type. This issue has been reported. # It happens, in tests. return resp if resp.headers.empty? ctype = resp.headers['content-type'].first raise FormatError, [ctype, format] unless ctype.match(/^#{CONTENT_TYPE[format]};/) if format == 'yaml' && resp['error'] raise APIError, resp['error'].first['error'] end resp end; "Rdef submit(path, params = {}, klass=nil, format = "yaml", &block) params.each_pair do |k,v| if path =~ /:#{k.to_s}/ params.delete(k) path = path.gsub(":#{k.to_s}", v) end end query = login ? { :login => login, :token => token } : {} query.merge!(params) begin resp = yield(path, query.merge(params), format) rescue Net::HTTPBadResponse raise RetryableAPIError end if @trace_level == "curl" query_trace = [] query.each_pair { |k,v| query_trace << "-F '#{k}=#{v}'" } puts "===== [curl version]" puts "curl #{query_trace.join(" ")} #{self.class.base_uri}/#{format}#{path}" puts "====================" end raise RetryableAPIError, resp.code.to_i if RETRYABLE_STATUS.include? resp.code.to_i raise NotFound, klass || self.class if resp.code.to_i == 404 raise APIError, "GitHub returned status #{resp.code}" unless resp.code.to_i == 200 # FIXME: This fails for showing raw Git data because that call returns # text/html as the content type. This issue has been reported. # It happens, in tests. return resp if resp.headers.empty? ctype = resp.headers['content-type'].first raise FormatError, [ctype, format] unless ctype.match(/^#{CONTENT_TYPE[format]};/) if format == 'yaml' && resp['error'] raise APIError, resp['error'].first['error'] end resp end; @w;#i;IC;" ;o;;@;";"0;[o;3 ;4" raise;5";6["RetryableAPIError;@I; 0;[;@I;$[ [" path0[" params"{}[" klass"nil[" format" "yaml"[" &block0;%T;&;';[;(F;): private;+[[@i; : submito;;"def trace(oper, url, params) return unless trace_level par_str = " params: " + params.map { |p| "#{p[0]}=#{p[1]}" }.join(", ") if params && !params.empty? puts "#{oper}: #{url}#{par_str}" end; "def trace(oper, url, params) return unless trace_level par_str = " params: " + params.map { |p| "#{p[0]}=#{p[1]}" }.join(", ") if params && !params.empty? puts "#{oper}: #{url}#{par_str}" end; @w;#i;IC;" ;o;;@;";"0;[;[;@g;$[[" oper0["url0[" params0;%T;&;';[;(F;);`;+[[@i; : trace;@w;[;(T;-IC;{;.IC;{;/T;'IC;{ ;GIC;{: write@: read@;/T;CIC;{;c@;d@;/T;KIC;{;c@;d@;/T;EIC;{;c@;d@;/T;IIC;{;c@;d@;/T;/T;/T;+[[@i [@i';0IC;[o; ; @w;0; :Singleton;@w; :Apio; ; o; ; @ ;@w; ;f;IC;[;@; @ ;IC;"2Used for accessing the Github API anonymously ;o;;@;["2Used for accessing the Github API anonymously;"o;<;=i ;>F;?i ;[;[;@;{;IC;[o;;"&def read_only? true end; "def read_only? true end; @;#i;IC;" ;o;;@;";"0;[;[;@;$[;%T;&;';[;(F;);*;+[[@i; :read_only?;@;[;(T;-IC;{;.IC;{;/T;'IC;{;/T;/T;+[[@i;0IC;[o; ; @;0; : HTTPartyo; ; @;0; ;e;@; :AnonymousApio; ; o; ; @ ;@w; ;f;IC;[;@; @ ;IC;" ;o;;@;";"0;[;[;@;{;IC;[o;;"'def read_only? false end; "def read_only? false end; @;#i;IC;" ;o;;@;";"0;[;[;@;$[;%T;&;';[;(F;);*;+[[@i; ;g;@;[;(F;-IC;{;.IC;{;/T;'IC;{;/T;/T;+[[@i;0IC;[o; ; @;0; ;ho; ; @;0; ;e;@; : AuthApio; ; o; ; @ ;0; ;!;IC;[;@; @ ;IC;" ;o;;@;";"0;[;[;@;{;IC;[o;O;"VALID = { :repo => { # FIXME: API currently chokes on repository names containing periods, # but presumably this will be fixed. :pat => /^[A-Za-z0-9_\.-]+$/, :msg => "%s is an invalid repository name"}, :user => { :pat => /^[A-Za-z0-9_\.-]+$/, :msg => "%s is an invalid username"}, :sha => { :pat => /^[a-f0-9]{40}$/, :msg => "%s is an invalid SHA hash"}, :state => { # FIXME: Any way to access Issue::STATES from here? :pat => /^(open|closed)$/, :msg => "%s is an invalid state; should be 'open' or 'closed'." } } ; ";VALID = { :repo => { # FIXME: API currently chokes on repository names containing periods, # but presumably this will be fixed. :pat => /^[A-Za-z0-9_\.-]+$/, :msg => "%s is an invalid repository name"}, :user => { :pat => /^[A-Za-z0-9_\.-]+$/, :msg => "%s is an invalid username"}, :sha => { :pat => /^[a-f0-9]{40}$/, :msg => "%s is an invalid SHA hash"}, :state => { # FIXME: Any way to access Issue::STATES from here? :pat => /^(open|closed)$/, :msg => "%s is an invalid state; should be 'open' or 'closed'." } }; @;#i ;IC;" ;o;;@;";"0;[;[;@;[;(F;P"f{ :repo => { # FIXME: API currently chokes on repository names containing periods, # but presumably this will be fixed. :pat => /^[A-Za-z0-9_\.-]+$/, :msg => "%s is an invalid repository name"}, :user => { :pat => /^[A-Za-z0-9_\.-]+$/, :msg => "%s is an invalid username"}, :sha => { :pat => /^[a-f0-9]{40}$/, :msg => "%s is an invalid SHA hash"}, :state => { # FIXME: Any way to access Issue::STATES from here? :pat => /^(open|closed)$/, :msg => "%s is an invalid state; should be 'open' or 'closed'." } };+[[@.i ; : VALIDo;;"def api=(value); "'def api=(value) @api = value end; @;IC;"Sets the attribute +api+ ;o;;@;"SSets the attribute +api+ @param value the value to set the attribute +api+ to.;"0;[o;3 ;4" param;5"-the value to set the attribute +api+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@.i ; ;Wo;;" def api; "def api @api end; @;IC;")Returns the value of attribute +api+ ;o;;@;")Returns the value of attribute +api+;"0;[;[;@;$[;&;';[;(F;);*;+[[@.i ; ;Vo;;"def initialize(attributes={}) # Useful for finding out what attr_accessor needs for classes # puts caller.first.inspect # puts "#{self.class.inspect} #{attributes.keys.map { |s| s.to_sym }.inspect}" attributes.each do |key, value| raise "no attr_accessor set for #{key} on #{self.class}" if !respond_to?("#{key}=") self.send("#{key}=", value) end end; "pdef initialize(attributes={}) # Useful for finding out what attr_accessor needs for classes # puts caller.first.inspect # puts "#{self.class.inspect} #{attributes.keys.map { |s| s.to_sym }.inspect}" attributes.each do |key, value| raise "no attr_accessor set for #{key} on #{self.class}" if !respond_to?("#{key}=") self.send("#{key}=", value) end end; @;#i";IC;" ;o;;@;";"0;[;[;@;$[["attributes"{};%T;&;';[;(F;);*;+[[@.i"; :initializeo;;"qdef error=(error) if /\w+ not found/.match(error) raise NotFound, self.class end end; "adef error=(error) if /\w+ not found/.match(error) raise NotFound, self.class end end; @;#i,;IC;" ;o;;@;";"0;[;[;@;$[[" error0;%T;&;';[;(F;);*;+[[@.i,; : error=o;;"def property(p, v) path = "#{self.class.path_for(:resource)}/#{p}" @api.find(path, self.class.resource_name(:singular), v) end; "def property(p, v) path = "#{self.class.path_for(:resource)}/#{p}" @api.find(path, self.class.resource_name(:singular), v) end; @;#i2;IC;" ;o;;@;";"0;[;[;@;$[["p0["v0;%T;&;';[;(F;);*;+[[@.i2; : propertyo;;"{def save hash = {} @keys.each { |k| hash[k] = send(k) } @api.save(self.path_for(:resource), hash) end; "pdef save hash = {} @keys.each { |k| hash[k] = send(k) } @api.save(self.path_for(:resource), hash) end; @;#i7;IC;" ;o;;@;";"0;[;[;@&;$[;%T;&;';[;(F;);*;+[[@.i7; ;[o;;"]def self.gather_name(opts) opts[:repository] || opts[:repo] || opts[:name] end; "Udef self.gather_name(opts) opts[:repository] || opts[:repo] || opts[:name] end; @;#i?;IC;" ;o;;@;";"0;[;[;@2;$[[" opts0;%T;&;.;[;(F;);`;+[[@.i?; :gather_nameo;;"wdef self.gather_details(opts) repo = self.gather_name(opts) repo = Repository.find(:user => opts[:user], :name => repo) if !repo.is_a?(Repository) user = repo.owner.to_s user ||= opts[:user].to_s branch = opts[:branch] || "master" self.validate_args(user => :user, repo.name => :repo) [user, repo, branch, opts[:sha]].compact end; "Wdef self.gather_details(opts) repo = self.gather_name(opts) repo = Repository.find(:user => opts[:user], :name => repo) if !repo.is_a?(Repository) user = repo.owner.to_s user ||= opts[:user].to_s branch = opts[:branch] || "master" self.validate_args(user => :user, repo.name => :repo) [user, repo, branch, opts[:sha]].compact end; @;#iC;IC;" ;o;;@;";"0;[;[;@@;$[[" opts0;%T;&;.;[;(F;);`;+[[@.iC; :gather_detailso;;"odef self.extract_user_repository(*args) opts = args.last.is_a?(Hash) ? args.pop : {} if opts.empty? if args.length > 1 repo, user = *args else repo = args.pop end else opts[:repo] = opts[:repository] if opts[:repository] repo = args.pop || opts[:repo] user = opts[:user] end user = repo.owner if repo.is_a? Repository if repo.is_a?(String) && !user raise "Need user argument when repository is identified by name" end ret = extract_names(user, repo) ret << opts ret end; "def self.extract_user_repository(*args) opts = args.last.is_a?(Hash) ? args.pop : {} if opts.empty? if args.length > 1 repo, user = *args else repo = args.pop end else opts[:repo] = opts[:repository] if opts[:repository] repo = args.pop || opts[:repo] user = opts[:user] end user = repo.owner if repo.is_a? Repository if repo.is_a?(String) && !user raise "Need user argument when repository is identified by name" end ret = extract_names(user, repo) ret << opts ret end; @;#iM;IC;" ;o;;@;";"0;[;[;@N;$[[" *args0;%T;&;.;[;(F;);`;+[[@.iM; :extract_user_repositoryo;;"def self.extract_names(*args) args.map do |v| v = v.name if v.is_a? Repository v = v.login if v.is_a? User v end end; "def self.extract_names(*args) args.map do |v| v = v.name if v.is_a? Repository v = v.login if v.is_a? User v end end; @;#ie;IC;" ;o;;@;";"0;[;[;@\;$[[" *args0;%T;&;.;[;(F;);`;+[[@.ie; :extract_nameso;;"def self.validate_hash(spec) raise ArgumentMustBeHash, "find takes a hash of options as a solitary argument" if !spec.is_a?(Hash) end; "def self.validate_hash(spec) raise ArgumentMustBeHash, "find takes a hash of options as a solitary argument" if !spec.is_a?(Hash) end; @;#im;IC;" ;o;;@;";"0;[o;3 ;4" raise;5";6["ArgumentMustBeHash;@j; 0;[;@j;$[[" spec0;%T;&;.;[;(F;);`;+[[@.im; :validate_hasho;;"Tdef self.validate_args(spec) m = caller[0].match(/\/([a-z0-9_]+)\.rb:\d+:in `([a-z_0-9]+)'/) meth = m ? "#{m[1].camel_case}.#{m[2]}" : 'method' raise ArgumentError, "Invalid spec" unless spec.values.all? { |s| VALID.key? s } errors = spec.reject{|arg, spec| arg.nil?}. reject{|arg, spec| arg.to_s.match(VALID[spec][:pat])}. map {|arg, spec| "Invalid argument '%s' for %s (%s)" % [arg, meth, VALID[spec][:msg] % arg]} raise ArgumentError, "\n" + errors.join("\n") unless errors.empty? end; ",def self.validate_args(spec) m = caller[0].match(/\/([a-z0-9_]+)\.rb:\d+:in `([a-z_0-9]+)'/) meth = m ? "#{m[1].camel_case}.#{m[2]}" : 'method' raise ArgumentError, "Invalid spec" unless spec.values.all? { |s| VALID.key? s } errors = spec.reject{|arg, spec| arg.nil?}. reject{|arg, spec| arg.to_s.match(VALID[spec][:pat])}. map {|arg, spec| "Invalid argument '%s' for %s (%s)" % [arg, meth, VALID[spec][:msg] % arg]} raise ArgumentError, "\n" + errors.join("\n") unless errors.empty? end; @;#iq;IC;" ;o;;@;";"0;[o;3 ;4" raise;5";6["ArgumentError;@}; 0;[;@};$[[" spec0;%T;&;.;[;(F;);`;+[[@.iq; :validate_args;@;[;(F;-IC;{;.IC;{;/T;'IC;{;VIC;{;c@;d@;/T;/T;/T;+[[@.i ;0IC;[;@; : Baseo; ; o; ; @ ;@; ;u;IC;[;@; @ ;IC;" ;o;;@;";"0;[;[;@;{;IC;[o;;"def text=(value); ")def text=(value) @text = value end; @;IC;"Sets the attribute +text+ ;o;;@;"USets the attribute +text+ @param value the value to set the attribute +text+ to.;"0;[o;3 ;4" param;5".the value to set the attribute +text+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[["lib/octopi/blob.rbi ; : text=o;;" def text; "def text @text end; @;IC;"*Returns the value of attribute +text+ ;o;;@;"*Returns the value of attribute +text+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; : texto;;"3def self.find(user, repo, sha, path = nil) user = user.to_s repo = repo.to_s self.validate_args(sha => :sha, user => :user) if path super [user, repo, sha, path] else Api.api.get_raw(path_for(:resource), {:id => [user, repo, sha].join('/')}) end end; "def self.find(user, repo, sha, path = nil) user = user.to_s repo = repo.to_s self.validate_args(sha => :sha, user => :user) if path super [user, repo, sha, path] else Api.api.get_raw(path_for(:resource), {:id => [user, repo, sha].join('/')}) end end; @;#i;IC;" ;o;;@;";"0;[;[;@;$[ [" user0[" repo0["sha0[" path"nil;%T;&;.;[;(F;);*;+[[@i; ;7;@;[;(F;-IC;{;.IC;{;/T;'IC;{;wIC;{;c@;d@;/T;/T;/T;+[[@i;0IC;[o; ; @;o;;IC;[;@; @ ;IC;" ;o;;@;";"0;[;[;@;{;IC;[o;;"def self.included(base) base.extend ClassMethods base.set_resource_name(base.name) (@@resources||={})[base.resource_name(:singular)] = base (@@resources||={})[base.resource_name(:plural)] = base end; "def self.included(base) base.extend ClassMethods base.set_resource_name(base.name) (@@resources||={})[base.resource_name(:singular)] = base (@@resources||={})[base.resource_name(:plural)] = base end; @;#i;IC;" ;o;;@;";"0;[;[;@;$[[" base0;%T;&;.;[;(F;);*;+[["lib/octopi/resource.rbi; : includedo;;"7def self.for(name) @@resources[name] end; "/def self.for(name) @@resources[name] end; @;#i;IC;" ;o;;@;";"0;[;[;@;$[[" name0;%T;&;.;[;(F;);*;+[[@i; :foro;;IC;[;@; @;IC;" ;o;;@;";"0;[;[;@;{;IC;[o;;"def set_resource_name(singular, plural = "#{singular}s") @resource_name = {:singular => declassify(singular), :plural => declassify(plural)} end; "def set_resource_name(singular, plural = "#{singular}s") @resource_name = {:singular => declassify(singular), :plural => declassify(plural)} end; @;#i;IC;" ;o;;@;";"0;[;[;@ ;$[[" singular0[" plural""#{singular}s";%T;&;';[;(F;);*;+[[@i; :set_resource_nameo;;"Adef resource_name(key) @resource_name[key] end; "5def resource_name(key) @resource_name[key] end; @;#i;IC;" ;o;;@;";"0;[;[;@;$[["key0;%T;&;';[;(F;);*;+[[@i; :resource_nameo;;"Ndef create_path(path) (@path_spec||={})[:create] = path end; "Bdef create_path(path) (@path_spec||={})[:create] = path end; @;#i;IC;" ;o;;@;";"0;[;[;@+;$[[" path0;%T;&;';[;(F;);*;+[[@i; :create_patho;;"Jdef find_path(path) (@path_spec||={})[:find] = path end; ">def find_path(path) (@path_spec||={})[:find] = path end; @;#i ;IC;" ;o;;@;";"0;[;[;@9;$[[" path0;%T;&;';[;(F;);*;+[[@i ; :find_patho;;"Rdef resource_path(path) (@path_spec||={})[:resource] = path end; "Fdef resource_path(path) (@path_spec||={})[:resource] = path end; @;#i$;IC;" ;o;;@;";"0;[;[;@G;$[[" path0;%T;&;';[;(F;);*;+[[@i$; :resource_patho;;"Ndef delete_path(path) (@path_spec||={})[:delete] = path end; "Bdef delete_path(path) (@path_spec||={})[:delete] = path end; @;#i(;IC;" ;o;;@;";"0;[;[;@U;$[[" path0;%T;&;';[;(F;);*;+[[@i(; :delete_patho;;"Xdef find(*args) args = args.join('/') if args.is_a? Array result = Api.api.find(path_for(:resource), @resource_name[:singular], args, self) key = result.keys.first if result[key].is_a? Array result[key].map { |r| new(r) } else Resource.for(key).new(result[key]) end end; ""def find(*args) args = args.join('/') if args.is_a? Array result = Api.api.find(path_for(:resource), @resource_name[:singular], args, self) key = result.keys.first if result[key].is_a? Array result[key].map { |r| new(r) } else Resource.for(key).new(result[key]) end end; @;#i,;IC;" ;o;;@;";"0;[;[;@c;$[[" *args0;%T;&;';[;(F;);*;+[[@i,; ;7o;;"=def find_all(*s) find_plural(s, :find) end; "1def find_all(*s) find_plural(s, :find) end; @;#i8;IC;" ;o;;@;";"0;[;[;@q;$[["*s0;%T;&;';[;(F;);*;+[[@i8; ;\o;;"def find_plural(s, path) s = s.join('/') if s.is_a? Array Api.api.find_all(path_for(path), @resource_name[:plural], s, self).map { |item| self.new(item) } end; "def find_plural(s, path) s = s.join('/') if s.is_a? Array Api.api.find_all(path_for(path), @resource_name[:plural], s, self).map { |item| self.new(item) } end; @;#i<;IC;" ;o;;@;";"0;[;[;@;$[["s0[" path0;%T;&;';[;(F;);*;+[[@i<; :find_pluralo;;"Qdef declassify(s) (s.split('::').last || '').downcase if s end; "Edef declassify(s) (s.split('::').last || '').downcase if s end; @;#iA;IC;" ;o;;@;";"0;[;[;@;$[["s0;%T;&;';[;(F;);*;+[[@iA; :declassifyo;;":def path_for(type) @path_spec[type] end; ".def path_for(type) @path_spec[type] end; @;#iE;IC;" ;o;;@;";"0;[;[;@;$[[" type0;%T;&;';[;(F;);*;+[[@iE; : path_for;@;[;(F;-IC;{;.IC;{;/T;'IC;{;/T;/T;+[[@i;0IC;[;@; :ClassMethods;@;[;(F;-IC;{;.IC;{;/T;'IC;{;/T;/T;+[[@i;0IC;[;@; : Resource; ;;@; : Blobo; ; o; ; @ ;@; ;u;IC;[;@; @ ;IC;" ;o;;@;";"0;[;[;@;{;IC;[ o;;"def name=(value); ")def name=(value) @name = value end; @;IC;"Sets the attribute +name+ ;o;;@;"USets the attribute +name+ @param value the value to set the attribute +name+ to.;"0;[o;3 ;4" param;5".the value to set the attribute +name+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[["lib/octopi/branch.rbi; : name=o;;" def name; "def name @name end; @;IC;"*Returns the value of attribute +name+ ;o;;@;"*Returns the value of attribute +name+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i; : nameo;;"def sha=(value); "'def sha=(value) @sha = value end; @;IC;"Sets the attribute +sha+ ;o;;@;"SSets the attribute +sha+ @param value the value to set the attribute +sha+ to.;"0;[o;3 ;4" param;5"-the value to set the attribute +sha+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@i; : sha=o;;" def sha; "def sha @sha end; @;IC;")Returns the value of attribute +sha+ ;o;;@;")Returns the value of attribute +sha+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i; :shao;;"udef initialize(*args) args = args.flatten! self.name = args.first self.sha = args.last end; "edef initialize(*args) args = args.flatten! self.name = args.first self.sha = args.last end; @;#i;IC;"~Called when we ask for a resource. Arguments are passed in like [, ] TODO: Find out why args are doubly nested ;o;;@;["'Called when we ask for a resource."1Arguments are passed in like [, ]".TODO: Find out why args are doubly nested;"o;<;=i;>F;?i;[;[;@;$[[" *args0;%T;&;';[;(T;);*;+[[@i; ;lo;;" def to_s name end; "def to_s name end; @;#i;IC;" ;o;;@;";"0;[;[;@;$[;%T;&;';[;(F;);*;+[[@i; : to_so;;"def self.all(opts={}) user, repo = gather_details(opts) self.validate_args(user => :user, repo => :repo) BranchSet.new(find_plural([user, repo, 'branches'], :resource)) do |i| { :name => i.first, :hash => i.last } end end; "def self.all(opts={}) user, repo = gather_details(opts) self.validate_args(user => :user, repo => :repo) BranchSet.new(find_plural([user, repo, 'branches'], :resource)) do |i| { :name => i.first, :hash => i.last } end end; @;#i;IC;" ;o;;@;";"0;[;[;@;$[[" opts"{};%T;&;.;[;(F;);*;+[[@i; :all;@;[;(F;-IC;{;.IC;{;/T;'IC;{;IC;{;c@;d@;/T;IC;{;c@;d@;/T;/T;/T;+[[@i;0IC;[o; ; @;@; ;;@; : Brancho; ; o; ; o; ; @;@ ; ;9;0; ;2;IC;[;@3; @5;IC;" ;o;;@;";"0;[;[;@3;{;IC;[ o;;"def user=(value); ")def user=(value) @user = value end; @3;IC;"Sets the attribute +user+ ;o;;@;"USets the attribute +user+ @param value the value to set the attribute +user+ to.;"0;[o;3 ;4" param;5".the value to set the attribute +user+ to.;60;@>; " value;[;@>;$[;&;';[;(F;);*;+[["lib/octopi/branch_set.rbi ; : user=o;;" def user; "def user @user end; @3;IC;"*Returns the value of attribute +user+ ;o;;@;"*Returns the value of attribute +user+;"0;[;[;@O;$[;&;';[;(F;);*;+[[@Ni ; ;Xo;;"def repository=(value); "5def repository=(value) @repository = value end; @3;IC;"$Sets the attribute +repository+ ;o;;@;"aSets the attribute +repository+ @param value the value to set the attribute +repository+ to.;"0;[o;3 ;4" param;5"4the value to set the attribute +repository+ to.;60;@[; " value;[;@[;$[;&;';[;(F;);*;+[[@Ni ; :repository=o;;"def repository; "%def repository @repository end; @3;IC;"0Returns the value of attribute +repository+ ;o;;@;"0Returns the value of attribute +repository+;"0;[;[;@k;$[;&;';[;(F;);*;+[[@Ni ; ;Ao;;"ydef find(name) branch = detect { |b| b.name == name } raise NotFound, Branch if branch.nil? branch end; "qdef find(name) branch = detect { |b| b.name == name } raise NotFound, Branch if branch.nil? branch end; @3;#i ;IC;"0Takes a name, returns a branch if it exists ;o;;@;["0Takes a name, returns a branch if it exists;"o;<;=i ;>F;?i ;[o;3 ;4" raise;5";6[" NotFound;@w; 0;[;@w;$[[" name0;%T;&;';[;(T;);*;+[[@Ni ; ;7;@3;[;(F;-IC;{;.IC;{;/T;'IC;{;XIC;{;c@>;d@O;/T;AIC;{;c@[;d@k;/T;/T;/T;+[[@Ni;0IC;[o; ; @3;@ ; ;9;@3; :BranchSeto; ; o; ; @ ;@; ;u;IC;[;@; @ ;IC;" ;o;;@;";"0;[;[;@;{;IC;[o;;"def content=(value); "/def content=(value) @content = value end; @;IC;"!Sets the attribute +content+ ;o;;@;"[Sets the attribute +content+ @param value the value to set the attribute +content+ to.;"0;[o;3 ;4" param;5"1the value to set the attribute +content+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[["lib/octopi/comment.rbi; : content=o;;"def content; "def content @content end; @;IC;"-Returns the value of attribute +content+ ;o;;@;"-Returns the value of attribute +content+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i; : contento;;"def author=(value); "-def author=(value) @author = value end; @;IC;" Sets the attribute +author+ ;o;;@;"YSets the attribute +author+ @param value the value to set the attribute +author+ to.;"0;[o;3 ;4" param;5"0the value to set the attribute +author+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@i; : author=o;;"def author; "def author @author end; @;IC;",Returns the value of attribute +author+ ;o;;@;",Returns the value of attribute +author+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i; : authoro;;"def title=(value); "+def title=(value) @title = value end; @;IC;"Sets the attribute +title+ ;o;;@;"WSets the attribute +title+ @param value the value to set the attribute +title+ to.;"0;[o;3 ;4" param;5"/the value to set the attribute +title+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@i; : title=o;;"def title; "def title @title end; @;IC;"+Returns the value of attribute +title+ ;o;;@;"+Returns the value of attribute +title+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i; : titleo;;"def updated=(value); "/def updated=(value) @updated = value end; @;IC;"!Sets the attribute +updated+ ;o;;@;"[Sets the attribute +updated+ @param value the value to set the attribute +updated+ to.;"0;[o;3 ;4" param;5"1the value to set the attribute +updated+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@i; : updated=o;;"def updated; "def updated @updated end; @;IC;"-Returns the value of attribute +updated+ ;o;;@;"-Returns the value of attribute +updated+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i; : updatedo;;"def link=(value); ")def link=(value) @link = value end; @;IC;"Sets the attribute +link+ ;o;;@;"USets the attribute +link+ @param value the value to set the attribute +link+ to.;"0;[o;3 ;4" param;5".the value to set the attribute +link+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@i; : link=o;;" def link; "def link @link end; @;IC;"*Returns the value of attribute +link+ ;o;;@;"*Returns the value of attribute +link+;"0;[;[;@!;$[;&;';[;(F;);*;+[[@i; : linko;;"def published=(value); "3def published=(value) @published = value end; @;IC;"#Sets the attribute +published+ ;o;;@;"_Sets the attribute +published+ @param value the value to set the attribute +published+ to.;"0;[o;3 ;4" param;5"3the value to set the attribute +published+ to.;60;@-; " value;[;@-;$[;&;';[;(F;);*;+[[@i; :published=o;;"def published; "#def published @published end; @;IC;"/Returns the value of attribute +published+ ;o;;@;"/Returns the value of attribute +published+;"0;[;[;@=;$[;&;';[;(F;);*;+[[@i; :publishedo;;"def id=(value); "%def id=(value) @id = value end; @;IC;"Sets the attribute +id+ ;o;;@;"QSets the attribute +id+ @param value the value to set the attribute +id+ to.;"0;[o;3 ;4" param;5",the value to set the attribute +id+ to.;60;@I; " value;[;@I;$[;&;';[;(F;);*;+[[@i; :id=o;;" def id; "def id @id end; @;IC;"(Returns the value of attribute +id+ ;o;;@;"(Returns the value of attribute +id+;"0;[;[;@Y;$[;&;';[;(F;);*;+[[@i; :ido;;"def repository=(value); "5def repository=(value) @repository = value end; @;IC;"$Sets the attribute +repository+ ;o;;@;"aSets the attribute +repository+ @param value the value to set the attribute +repository+ to.;"0;[o;3 ;4" param;5"4the value to set the attribute +repository+ to.;60;@e; " value;[;@e;$[;&;';[;(F;);*;+[[@i; ;o;;"def repository; "%def repository @repository end; @;IC;"0Returns the value of attribute +repository+ ;o;;@;"0Returns the value of attribute +repository+;"0;[;[;@u;$[;&;';[;(F;);*;+[[@i; ;Ao;;"def self.find(opts={}) user, repo, branch, sha = gather_details(opts) self.validate_args(sha => :sha, user => :user, repo => :repo) super [user, repo, sha] end ; "def self.find(opts={}) user, repo, branch, sha = gather_details(opts) self.validate_args(sha => :sha, user => :user, repo => :repo) super [user, repo, sha] end; @;#i;IC;" ;o;;@;";"0;[;[;@;$[[" opts"{};%T;&;.;[;(F;);*;+[[@i; ;7o;;"}def commit Commit.find(:user => repository.owner, :repo => repository, :sha => /commit\/(.*?)#/.match(link)[1]) end; "zdef commit Commit.find(:user => repository.owner, :repo => repository, :sha => /commit\/(.*?)#/.match(link)[1]) end; @;#i;IC;" ;o;;@;";"0;[;[;@;$[;%T;&;';[;(F;);*;+[[@i; : commit;@;[;(F;-IC;{;.IC;{;/T;'IC;{ ;IC;{;c@;d@;/T;IC;{;c@;d@;/T;AIC;{;c@e;d@u;/T;IC;{;c@-;d@=;/T;IC;{;c@;d@!;/T;IC;{;c@;d@;/T;IC;{;c@;d@;/T;IC;{;c@I;d@Y;/T;/T;/T;+[[@i;0IC;[o; ; @;@; ;;@; : Commento; ; o; ; @ ;@; ;u;IC;[;@; @ ;IC;" ;o;;@;";"0;[;[;@;{;IC;["o;;"def repository=(value); "5def repository=(value) @repository = value end; @;IC;"$Sets the attribute +repository+ ;o;;@;"aSets the attribute +repository+ @param value the value to set the attribute +repository+ to.;"0;[o;3 ;4" param;5"4the value to set the attribute +repository+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[["lib/octopi/commit.rbi ; ;o;;"def repository; "%def repository @repository end; @;IC;"0Returns the value of attribute +repository+ ;o;;@;"0Returns the value of attribute +repository+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; ;Ao;;"def message=(value); "/def message=(value) @message = value end; @;IC;"!Sets the attribute +message+ ;o;;@;"[Sets the attribute +message+ @param value the value to set the attribute +message+ to.;"0;[o;3 ;4" param;5"1the value to set the attribute +message+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@i ; : message=o;;"def message; "def message @message end; @;IC;"-Returns the value of attribute +message+ ;o;;@;"-Returns the value of attribute +message+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; : messageo;;"def parents=(value); "/def parents=(value) @parents = value end; @;IC;"!Sets the attribute +parents+ ;o;;@;"[Sets the attribute +parents+ @param value the value to set the attribute +parents+ to.;"0;[o;3 ;4" param;5"1the value to set the attribute +parents+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@i ; : parents=o;;"def parents; "def parents @parents end; @;IC;"-Returns the value of attribute +parents+ ;o;;@;"-Returns the value of attribute +parents+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; : parentso;;"def author=(value); "-def author=(value) @author = value end; @;IC;" Sets the attribute +author+ ;o;;@;"YSets the attribute +author+ @param value the value to set the attribute +author+ to.;"0;[o;3 ;4" param;5"0the value to set the attribute +author+ to.;60;@ ; " value;[;@ ;$[;&;';[;(F;);*;+[[@i ; ;o;;"def author; "def author @author end; @;IC;",Returns the value of attribute +author+ ;o;;@;",Returns the value of attribute +author+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; ;o;;"def url=(value); "'def url=(value) @url = value end; @;IC;"Sets the attribute +url+ ;o;;@;"SSets the attribute +url+ @param value the value to set the attribute +url+ to.;"0;[o;3 ;4" param;5"-the value to set the attribute +url+ to.;60;@'; " value;[;@';$[;&;';[;(F;);*;+[[@i ; : url=o;;" def url; "def url @url end; @;IC;")Returns the value of attribute +url+ ;o;;@;")Returns the value of attribute +url+;"0;[;[;@7;$[;&;';[;(F;);*;+[[@i ; :urlo;;"def id=(value); "%def id=(value) @id = value end; @;IC;"Sets the attribute +id+ ;o;;@;"QSets the attribute +id+ @param value the value to set the attribute +id+ to.;"0;[o;3 ;4" param;5",the value to set the attribute +id+ to.;60;@C; " value;[;@C;$[;&;';[;(F;);*;+[[@i ; ;o;;" def id; "def id @id end; @;IC;"(Returns the value of attribute +id+ ;o;;@;"(Returns the value of attribute +id+;"0;[;[;@S;$[;&;';[;(F;);*;+[[@i ; ;o;;"def committed_date=(value); "=def committed_date=(value) @committed_date = value end; @;IC;"(Sets the attribute +committed_date+ ;o;;@;"iSets the attribute +committed_date+ @param value the value to set the attribute +committed_date+ to.;"0;[o;3 ;4" param;5"8the value to set the attribute +committed_date+ to.;60;@_; " value;[;@_;$[;&;';[;(F;);*;+[[@i ; :committed_date=o;;"def committed_date; "-def committed_date @committed_date end; @;IC;"4Returns the value of attribute +committed_date+ ;o;;@;"4Returns the value of attribute +committed_date+;"0;[;[;@o;$[;&;';[;(F;);*;+[[@i ; :committed_dateo;;"def authored_date=(value); ";def authored_date=(value) @authored_date = value end; @;IC;"'Sets the attribute +authored_date+ ;o;;@;"gSets the attribute +authored_date+ @param value the value to set the attribute +authored_date+ to.;"0;[o;3 ;4" param;5"7the value to set the attribute +authored_date+ to.;60;@{; " value;[;@{;$[;&;';[;(F;);*;+[[@i ; :authored_date=o;;"def authored_date; "+def authored_date @authored_date end; @;IC;"3Returns the value of attribute +authored_date+ ;o;;@;"3Returns the value of attribute +authored_date+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; :authored_dateo;;"def tree=(value); ")def tree=(value) @tree = value end; @;IC;"Sets the attribute +tree+ ;o;;@;"USets the attribute +tree+ @param value the value to set the attribute +tree+ to.;"0;[o;3 ;4" param;5".the value to set the attribute +tree+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@i ; : tree=o;;" def tree; "def tree @tree end; @;IC;"*Returns the value of attribute +tree+ ;o;;@;"*Returns the value of attribute +tree+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; : treeo;;"def committer=(value); "3def committer=(value) @committer = value end; @;IC;"#Sets the attribute +committer+ ;o;;@;"_Sets the attribute +committer+ @param value the value to set the attribute +committer+ to.;"0;[o;3 ;4" param;5"3the value to set the attribute +committer+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@i ; :committer=o;;"def committer; "#def committer @committer end; @;IC;"/Returns the value of attribute +committer+ ;o;;@;"/Returns the value of attribute +committer+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; :committero;;"def added=(value); "+def added=(value) @added = value end; @;IC;"Sets the attribute +added+ ;o;;@;"WSets the attribute +added+ @param value the value to set the attribute +added+ to.;"0;[o;3 ;4" param;5"/the value to set the attribute +added+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@i ; : added=o;;"def added; "def added @added end; @;IC;"+Returns the value of attribute +added+ ;o;;@;"+Returns the value of attribute +added+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; : addedo;;"def removed=(value); "/def removed=(value) @removed = value end; @;IC;"!Sets the attribute +removed+ ;o;;@;"[Sets the attribute +removed+ @param value the value to set the attribute +removed+ to.;"0;[o;3 ;4" param;5"1the value to set the attribute +removed+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@i ; : removed=o;;"def removed; "def removed @removed end; @;IC;"-Returns the value of attribute +removed+ ;o;;@;"-Returns the value of attribute +removed+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; : removedo;;"def modified=(value); "1def modified=(value) @modified = value end; @;IC;""Sets the attribute +modified+ ;o;;@;"]Sets the attribute +modified+ @param value the value to set the attribute +modified+ to.;"0;[o;3 ;4" param;5"2the value to set the attribute +modified+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@i ; :modified=o;;"def modified; "!def modified @modified end; @;IC;".Returns the value of attribute +modified+ ;o;;@;".Returns the value of attribute +modified+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; : modifiedo;;"def self.find_all(opts={}) user, repo, branch = gather_details(opts) commits = super user, repo.name, branch # Repository is not passed in from the data, set it manually. commits.each { |c| c.repository = repo } commits end; "def self.find_all(opts={}) user, repo, branch = gather_details(opts) commits = super user, repo.name, branch # Repository is not passed in from the data, set it manually. commits.each { |c| c.repository = repo } commits end; @;#i;IC;"Finds all commits for the given options: :repo or :repository or :name - A repository object or the name of a repository :user - A user object or the login of a user :branch - A branch object or the name of a branch. Defaults to master. Sample usage: >> find_all(:user => "fcoury", :repo => "octopi") => => find_all(:user => "fcoury", :repo => "octopi", :branch => "lazy") # branch is set to lazy. => ;o;;@;["-Finds all commits for the given options:""T:repo or :repository or :name - A repository object or the name of a repository"1:user - A user object or the login of a user"L:branch - A branch object or the name of a branch. Defaults to master. ""Sample usage:""8 >> find_all(:user => "fcoury", :repo => "octopi")"/ => " "d => find_all(:user => "fcoury", :repo => "octopi", :branch => "lazy") # branch is set to lazy."- => ";"o;<;=i;>F;?i;[;[;@#;$[[" opts"{};%T;&;.;[;(T;);*;+[[@i; ;\o;;"vdef self.find(opts={}) user, repo, branch, sha = gather_details(opts) super [user, repo, sha] end; "jdef self.find(opts={}) user, repo, branch, sha = gather_details(opts) super [user, repo, sha] end; @;#i4;IC;"Finds all commits for the given options: :repo or :repository or :name - A repository object or the name of a repository :user - A user object or the login of a user :branch - A branch object or the name of a branch. Defaults to master. :sha - The commit ID Sample usage: >> find(:user => "fcoury", :repo => "octopi", :sha => "f6609209c3ac0badd004512d318bfaa508ea10ae") => >> find(:user => "fcoury", :repo => "octopi", :branch => "lazy", :sha => "f6609209c3ac0badd004512d318bfaa508ea10ae") # branch is set to lazy. => ;o;;@;["-Finds all commits for the given options:""T:repo or :repository or :name - A repository object or the name of a repository"1:user - A user object or the login of a user"L:branch - A branch object or the name of a branch. Defaults to master. ":sha - The commit ID""Sample usage:""h >> find(:user => "fcoury", :repo => "octopi", :sha => "f6609209c3ac0badd004512d318bfaa508ea10ae")"M => "" >> find(:user => "fcoury", :repo => "octopi", :branch => "lazy", :sha => "f6609209c3ac0badd004512d318bfaa508ea10ae") # branch is set to lazy."K => ";"o;<;=i%;>F;?i3;[;[;@A;$[[" opts"{};%T;&;.;[;(T;);*;+[[@i4; ;7o;;"def repo_identifier url_parts = url.split('/') if @repository parts = [@repository.owner, @repository.name, url_parts[6]] else parts = [url_parts[3], url_parts[4], url_parts[6]] end parts.join('/') end; "def repo_identifier url_parts = url.split('/') if @repository parts = [@repository.owner, @repository.name, url_parts[6]] else parts = [url_parts[3], url_parts[4], url_parts[6]] end parts.join('/') end; @;#i9;IC;" ;o;;@;";"0;[;[;@`;$[;%T;&;';[;(F;);*;+[[@i9; :repo_identifier;@;[;(F;-IC;{;.IC;{;/T;'IC;{;IC;{;c@;d@;/T;IC;{;c@_;d@o;/T;IC;{;c@;d@;/T;IC;{;c@{;d@;/T;IC;{;c@ ;d@;/T;IC;{;c@;d@;/T;AIC;{;c@;d@;/T;IC;{;c@;d@;/T;IC;{;c@;d@;/T;IC;{;c@;d@;/T;IC;{;c@;d@;/T;IC;{;c@C;d@S;/T;IC;{;c@';d@7;/T;/T;/T;+[[@i;0IC;[o; ; @;@; ;;@; : Commito; ; o; ; @ ;0; :StandardError;IC;[;@; @ ;IC;" ;o;;@;";"0;[;[;@;{;IC;[o;;"`def initialize(f) super("Got unexpected format (got #{f.first} for #{f.last})") end; "Zdef initialize(f) super("Got unexpected format (got #{f.first} for #{f.last})") end; @;#i ;IC;" ;o;;@;";"0;[;[;@;$[["f0;%T;&;';[;(F;);*;+[["lib/octopi/error.rbi ; ;l;@;[;(F;-IC;{;.IC;{;/T;'IC;{;/T;/T;+[[@i;0IC;[;@; :FormatErroro; ; o; ; @ ;0; ;;IC;[;@; @ ;IC;" ;o;;@;";"0;[;[;@;{;IC;[;@;[;(F;-IC;{;.IC;{;/T;'IC;{;/T;/T;+[[@i;0IC;[;@; : APIErroro; ; o; ; @ ;0; :RuntimeError;IC;[;@; @ ;IC;" ;o;;@;";"0;[;[;@;{;IC;[o;;" def code; "def code @code end; @;IC;"*Returns the value of attribute +code+ ;o;;@;"*Returns the value of attribute +code+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i; : codeo;;"def initialize(code=nil) @code = code.nil? ? '???' : code @message = "GitHub returned status #{@code}. Retrying request." super @message end; "def initialize(code=nil) @code = code.nil? ? '???' : code @message = "GitHub returned status #{@code}. Retrying request." super @message end; @;#i;IC;" ;o;;@;";"0;[;[;@;$[[" code"nil;%T;&;';[;(F;);*;+[[@i; ;l;@;[;(F;-IC;{;.IC;{;/T;'IC;{;IC;{;c0;d@;/T;/T;/T;+[[@i;0IC;[;@; :RetryableAPIErroro; ; o; ; @ ;0; :Exception;IC;[;@; @ ;IC;" ;o;;@;";"0;[;[;@;{;IC;[;@;[;(F;-IC;{;.IC;{;/T;'IC;{;/T;/T;+[[@i;0IC;[;@; :ArgumentMustBeHasho; ; o; ; @ ;0; ;;IC;[;@; @ ;IC;" ;o;;@;";"0;[;[;@;{;IC;[o;;"def initialize(klass) super "The #{klass.to_s.split("::").last} you were looking for could not be found, or is private." end; "~def initialize(klass) super "The #{klass.to_s.split("::").last} you were looking for could not be found, or is private." end; @;#i;IC;" ;o;;@;";"0;[;[;@;$[[" klass0;%T;&;';[;(F;);*;+[[@i; ;l;@;[;(F;-IC;{;.IC;{;/T;'IC;{;/T;/T;+[[@i;0IC;[;@; : NotFound@ o; ; o; ; @ ;@; ;u;IC;[;@ ; @ ;IC;" ;o;;@;";"0;[;[;@ ;{;IC;[%o;O;"STATES = %w{open closed}; "STATES = %w{open closed}; @ ;#i ;IC;" ;o;;@;";"0;[;[;@ ;[;(F;P"%w{open closed};+[["lib/octopi/issue.rbi ; : STATESo;;"def repository=(value); "5def repository=(value) @repository = value end; @ ;IC;"$Sets the attribute +repository+ ;o;;@;"aSets the attribute +repository+ @param value the value to set the attribute +repository+ to.;"0;[o;3 ;4" param;5"4the value to set the attribute +repository+ to.;60;@& ; " value;[;@& ;$[;&;';[;(F;);*;+[[@% i; ;o;;"def repository; "%def repository @repository end; @ ;IC;"0Returns the value of attribute +repository+ ;o;;@;"0Returns the value of attribute +repository+;"0;[;[;@6 ;$[;&;';[;(F;);*;+[[@% i; ;Ao;;"def user=(value); ")def user=(value) @user = value end; @ ;IC;"Sets the attribute +user+ ;o;;@;"USets the attribute +user+ @param value the value to set the attribute +user+ to.;"0;[o;3 ;4" param;5".the value to set the attribute +user+ to.;60;@B ; " value;[;@B ;$[;&;';[;(F;);*;+[[@% i; ;o;;" def user; "def user @user end; @ ;IC;"*Returns the value of attribute +user+ ;o;;@;"*Returns the value of attribute +user+;"0;[;[;@R ;$[;&;';[;(F;);*;+[[@% i; ;Xo;;"def updated_at=(value); "5def updated_at=(value) @updated_at = value end; @ ;IC;"$Sets the attribute +updated_at+ ;o;;@;"aSets the attribute +updated_at+ @param value the value to set the attribute +updated_at+ to.;"0;[o;3 ;4" param;5"4the value to set the attribute +updated_at+ to.;60;@^ ; " value;[;@^ ;$[;&;';[;(F;);*;+[[@% i; :updated_at=o;;"def updated_at; "%def updated_at @updated_at end; @ ;IC;"0Returns the value of attribute +updated_at+ ;o;;@;"0Returns the value of attribute +updated_at+;"0;[;[;@n ;$[;&;';[;(F;);*;+[[@% i; :updated_ato;;"def votes=(value); "+def votes=(value) @votes = value end; @ ;IC;"Sets the attribute +votes+ ;o;;@;"WSets the attribute +votes+ @param value the value to set the attribute +votes+ to.;"0;[o;3 ;4" param;5"/the value to set the attribute +votes+ to.;60;@z ; " value;[;@z ;$[;&;';[;(F;);*;+[[@% i; : votes=o;;"def votes; "def votes @votes end; @ ;IC;"+Returns the value of attribute +votes+ ;o;;@;"+Returns the value of attribute +votes+;"0;[;[;@ ;$[;&;';[;(F;);*;+[[@% i; : voteso;;"def number=(value); "-def number=(value) @number = value end; @ ;IC;" Sets the attribute +number+ ;o;;@;"YSets the attribute +number+ @param value the value to set the attribute +number+ to.;"0;[o;3 ;4" param;5"0the value to set the attribute +number+ to.;60;@ ; " value;[;@ ;$[;&;';[;(F;);*;+[[@% i; : number=o;;"def number; "def number @number end; @ ;IC;",Returns the value of attribute +number+ ;o;;@;",Returns the value of attribute +number+;"0;[;[;@ ;$[;&;';[;(F;);*;+[[@% i; : numbero;;"def title=(value); "+def title=(value) @title = value end; @ ;IC;"Sets the attribute +title+ ;o;;@;"WSets the attribute +title+ @param value the value to set the attribute +title+ to.;"0;[o;3 ;4" param;5"/the value to set the attribute +title+ to.;60;@ ; " value;[;@ ;$[;&;';[;(F;);*;+[[@% i; ;o;;"def title; "def title @title end; @ ;IC;"+Returns the value of attribute +title+ ;o;;@;"+Returns the value of attribute +title+;"0;[;[;@ ;$[;&;';[;(F;);*;+[[@% i; ;o;;"def body=(value); ")def body=(value) @body = value end; @ ;IC;"Sets the attribute +body+ ;o;;@;"USets the attribute +body+ @param value the value to set the attribute +body+ to.;"0;[o;3 ;4" param;5".the value to set the attribute +body+ to.;60;@ ; " value;[;@ ;$[;&;';[;(F;);*;+[[@% i; : body=o;;" def body; "def body @body end; @ ;IC;"*Returns the value of attribute +body+ ;o;;@;"*Returns the value of attribute +body+;"0;[;[;@ ;$[;&;';[;(F;);*;+[[@% i; : bodyo;;"def closed_at=(value); "3def closed_at=(value) @closed_at = value end; @ ;IC;"#Sets the attribute +closed_at+ ;o;;@;"_Sets the attribute +closed_at+ @param value the value to set the attribute +closed_at+ to.;"0;[o;3 ;4" param;5"3the value to set the attribute +closed_at+ to.;60;@ ; " value;[;@ ;$[;&;';[;(F;);*;+[[@% i; :closed_at=o;;"def closed_at; "#def closed_at @closed_at end; @ ;IC;"/Returns the value of attribute +closed_at+ ;o;;@;"/Returns the value of attribute +closed_at+;"0;[;[;@ ;$[;&;';[;(F;);*;+[[@% i; :closed_ato;;"def labels=(value); "-def labels=(value) @labels = value end; @ ;IC;" Sets the attribute +labels+ ;o;;@;"YSets the attribute +labels+ @param value the value to set the attribute +labels+ to.;"0;[o;3 ;4" param;5"0the value to set the attribute +labels+ to.;60;@ ; " value;[;@ ;$[;&;';[;(F;);*;+[[@% i; : labels=o;;"def labels; "def labels @labels end; @ ;IC;",Returns the value of attribute +labels+ ;o;;@;",Returns the value of attribute +labels+;"0;[;[;@ ;$[;&;';[;(F;);*;+[[@% i; : labelso;;"def state=(value); "+def state=(value) @state = value end; @ ;IC;"Sets the attribute +state+ ;o;;@;"WSets the attribute +state+ @param value the value to set the attribute +state+ to.;"0;[o;3 ;4" param;5"/the value to set the attribute +state+ to.;60;@" ; " value;[;@" ;$[;&;';[;(F;);*;+[[@% i; : state=o;;"def state; "def state @state end; @ ;IC;"+Returns the value of attribute +state+ ;o;;@;"+Returns the value of attribute +state+;"0;[;[;@2 ;$[;&;';[;(F;);*;+[[@% i; : stateo;;"def created_at=(value); "5def created_at=(value) @created_at = value end; @ ;IC;"$Sets the attribute +created_at+ ;o;;@;"aSets the attribute +created_at+ @param value the value to set the attribute +created_at+ to.;"0;[o;3 ;4" param;5"4the value to set the attribute +created_at+ to.;60;@> ; " value;[;@> ;$[;&;';[;(F;);*;+[[@% i; :created_at=o;;"def created_at; "%def created_at @created_at end; @ ;IC;"0Returns the value of attribute +created_at+ ;o;;@;"0Returns the value of attribute +created_at+;"0;[;[;@N ;$[;&;';[;(F;);*;+[[@% i; :created_ato;;"*def self.find_all(opts={}) user, repo = gather_details(opts) state = (opts[:state] || "open").downcase validate_args(user => :user, repo.name => :repo, state => :state) issues = super user, repo.name, state issues.each { |i| i.repository = repo } issues end; "def self.find_all(opts={}) user, repo = gather_details(opts) state = (opts[:state] || "open").downcase validate_args(user => :user, repo.name => :repo, state => :state) issues = super user, repo.name, state issues.each { |i| i.repository = repo } issues end; @ ;#i;IC;"Finds all issues for a given Repository You can provide the user and repo parameters as String or as User and Repository objects. When repo is provided as a Repository object, user is superfluous. If no state is given, "open" is assumed. Sample usage: find_all(repo, :state => "closed") # repo must be an object find_all("octopi", :user => "fcoury") # user must be provided find_all(:user => "fcoury", :repo => "octopi") # state defaults to open ;o;;@;[",Finds all issues for a given Repository""4You can provide the user and repo parameters as"8String or as User and Repository objects. When repo"=is provided as a Repository object, user is superfluous.""-If no state is given, "open" is assumed.""Sample usage:""B find_all(repo, :state => "closed") # repo must be an object"D find_all("octopi", :user => "fcoury") # user must be provided"N find_all(:user => "fcoury", :repo => "octopi") # state defaults to open";"o;<;=i;>F;?i;[;[;@Z ;$[[" opts"{};%T;&;.;[;(T;);*;+[[@% i; ;\o;;"def self.find(opts={}) user, repo = gather_details(opts) validate_args(user => :user, repo => :repo) issue = super user, repo, opts[:number] issue.repository = repo issue end; "def self.find(opts={}) user, repo = gather_details(opts) validate_args(user => :user, repo => :repo) issue = super user, repo, opts[:number] issue.repository = repo issue end; @ ;#i*;IC;"-TODO: Make find use hashes like find_all ;o;;@;["-TODO: Make find use hashes like find_all;"o;<;=i);>F;?i);[;[;@x ;$[[" opts"{};%T;&;.;[;(T;);*;+[[@% i*; ;7o;;"def self.open(opts={}) user, repo = gather_details(opts) data = Api.api.post("/issues/open/#{user}/#{repo.name}", opts[:params]) issue = new(data['issue']) issue.repository = repo issue end; "def self.open(opts={}) user, repo = gather_details(opts) data = Api.api.post("/issues/open/#{user}/#{repo.name}", opts[:params]) issue = new(data['issue']) issue.repository = repo issue end; @ ;#i3;IC;" ;o;;@;";"0;[;[;@ ;$[[" opts"{};%T;&;.;[;(F;);*;+[[@% i3; : openo;;"odef reopen! data = Api.api.post(command_path("reopen")) self.state = 'open' self end; "_def reopen! data = Api.api.post(command_path("reopen")) self.state = 'open' self end; @ ;#i<;IC;"Re-opens an issue. ;o;;@;["Re-opens an issue.;"o;<;=i;;>F;?i;;[;[;@ ;$[;%T;&;';[;(T;);*;+[[@% i<; : reopen!o;;"odef close! data = Api.api.post(command_path("close")) self.state = 'closed' self end; "_def close! data = Api.api.post(command_path("close")) self.state = 'closed' self end; @ ;#iB;IC;" ;o;;@;";"0;[;[;@ ;$[;%T;&;';[;(F;);*;+[[@% iB; : close!o;;"tdef save data = Api.api.post(command_path("edit"), { :title => title, :body => body }) self end; "hdef save data = Api.api.post(command_path("edit"), { :title => title, :body => body }) self end; @ ;#iH;IC;" ;o;;@;";"0;[;[;@ ;$[;%T;&;';[;(F;);*;+[[@% iH; ;[o;;"def comment(comment) data = Api.api.post(command_path("comment"), { :comment => comment }) IssueComment.new(data['comment']) end; "def comment(comment) data = Api.api.post(command_path("comment"), { :comment => comment }) IssueComment.new(data['comment']) end; @ ;#iZ;IC;" ;o;;@;";"0;[;[;@ ;$[[" comment0;%T;&;';[;(F;);*;+[[@% iZ; : commento;;"bdef prefix(command) "/issues/#{command}/#{repository.owner}/#{repository.name}" end; "Zdef prefix(command) "/issues/#{command}/#{repository.owner}/#{repository.name}" end; @ ;#i`;IC;" ;o;;@;";"0;[;[;@ ;$[[" command0;%T;&;';[;(F;);`;+[[@% i`; : prefixo;;"Kdef command_path(command) "#{prefix(command)}/#{number}" end; "Cdef command_path(command) "#{prefix(command)}/#{number}" end; @ ;#id;IC;" ;o;;@;";"0;[;[;@ ;$[[" command0;%T;&;';[;(F;);`;+[[@% id; :command_path;@ ;[;(F;-IC;{;.IC;{;/T;'IC;{;IC;{;c@z ;d@ ;/T;IC;{;c@ ;d@ ;/T;XIC;{;c@B ;d@R ;/T;IC;{;c@ ;d@ ;/T;IC;{;c@ ;d@ ;/T;AIC;{;c@& ;d@6 ;/T;IC;{;c@ ;d@ ;/T;IC;{;c@" ;d@2 ;/T;IC;{;c@ ;d@ ;/T;IC;{;c@> ;d@N ;/T;IC;{;c@^ ;d@n ;/T;/T;/T;+[[@% i;0IC;[o; ; @ ;@; ;;@ ; : Issueo; ; o; ; @ ;@; ;u;IC;[;@ ; @ ;IC;" ;o;;@;";"0;[;[;@ ;{;IC;[ o;;"def comment=(value); "/def comment=(value) @comment = value end; @ ;IC;"!Sets the attribute +comment+ ;o;;@;"[Sets the attribute +comment+ @param value the value to set the attribute +comment+ to.;"0;[o;3 ;4" param;5"1the value to set the attribute +comment+ to.;60;@ ; " value;[;@ ;$[;&;';[;(F;);*;+[[" lib/octopi/issue_comment.rbi ; : comment=o;;"def comment; "def comment @comment end; @ ;IC;"-Returns the value of attribute +comment+ ;o;;@;"-Returns the value of attribute +comment+;"0;[;[;@ ;$[;&;';[;(F;);*;+[[@ i ; ;o;;"def status=(value); "-def status=(value) @status = value end; @ ;IC;" Sets the attribute +status+ ;o;;@;"YSets the attribute +status+ @param value the value to set the attribute +status+ to.;"0;[o;3 ;4" param;5"0the value to set the attribute +status+ to.;60;@" ; " value;[;@" ;$[;&;';[;(F;);*;+[[@ i ; : status=o;;"def status; "def status @status end; @ ;IC;",Returns the value of attribute +status+ ;o;;@;",Returns the value of attribute +status+;"0;[;[;@2 ;$[;&;';[;(F;);*;+[[@ i ; : status;@ ;[;(F;-IC;{;.IC;{;/T;'IC;{;IC;{;c@ ;d@ ;/T;IC;{;c@" ;d@2 ;/T;/T;/T;+[[@ i;0IC;[o; ; @ ;@; ;;@ ; :IssueCommento; ; o; ; o; ; @;@ ; ;9;0; ;2;IC;[;@H ; @J ;IC;" ;o;;@;";"0;[;[;@H ;{;IC;[ o;;"def user=(value); ")def user=(value) @user = value end; @H ;IC;"Sets the attribute +user+ ;o;;@;"USets the attribute +user+ @param value the value to set the attribute +user+ to.;"0;[o;3 ;4" param;5".the value to set the attribute +user+ to.;60;@S ; " value;[;@S ;$[;&;';[;(F;);*;+[["lib/octopi/issue_set.rbi ; ;o;;" def user; "def user @user end; @H ;IC;"*Returns the value of attribute +user+ ;o;;@;"*Returns the value of attribute +user+;"0;[;[;@d ;$[;&;';[;(F;);*;+[[@c i ; ;Xo;;"def repository=(value); "5def repository=(value) @repository = value end; @H ;IC;"$Sets the attribute +repository+ ;o;;@;"aSets the attribute +repository+ @param value the value to set the attribute +repository+ to.;"0;[o;3 ;4" param;5"4the value to set the attribute +repository+ to.;60;@p ; " value;[;@p ;$[;&;';[;(F;);*;+[[@c i ; ;o;;"def repository; "%def repository @repository end; @H ;IC;"0Returns the value of attribute +repository+ ;o;;@;"0Returns the value of attribute +repository+;"0;[;[;@ ;$[;&;';[;(F;);*;+[[@c i ; ;Ao;;"~def find(number) issue = detect { |issue| issue.number == number } raise NotFound, Issue if issue.nil? issue end; "{def find(number) issue = detect { |issue| issue.number == number } raise NotFound, Issue if issue.nil? issue end; @H ;#i ;IC;" ;o;;@;";"0;[o;3 ;4" raise;5";6[" NotFound;@ ; 0;[;@ ;$[[" number0;%T;&;';[;(F;);*;+[[@c i ; ;7;@H ;[;(F;-IC;{;.IC;{;/T;'IC;{;XIC;{;c@S ;d@d ;/T;AIC;{;c@p ;d@ ;/T;/T;/T;+[[@c i;0IC;[o; ; @H ;@ ; ;9;@H ; : IssueSeto; ; o; ; @ ;@; ;u;IC;[;@ ; @ ;IC;" ;o;;@;";"0;[;[;@ ;{;IC;[o;;"def title=(value); "+def title=(value) @title = value end; @ ;IC;"Sets the attribute +title+ ;o;;@;"WSets the attribute +title+ @param value the value to set the attribute +title+ to.;"0;[o;3 ;4" param;5"/the value to set the attribute +title+ to.;60;@ ; " value;[;@ ;$[;&;';[;(F;);*;+[["lib/octopi/key.rbi ; ;o;;"def title; "def title @title end; @ ;IC;"+Returns the value of attribute +title+ ;o;;@;"+Returns the value of attribute +title+;"0;[;[;@ ;$[;&;';[;(F;);*;+[[@ i ; ;o;;"def id=(value); "%def id=(value) @id = value end; @ ;IC;"Sets the attribute +id+ ;o;;@;"QSets the attribute +id+ @param value the value to set the attribute +id+ to.;"0;[o;3 ;4" param;5",the value to set the attribute +id+ to.;60;@ ; " value;[;@ ;$[;&;';[;(F;);*;+[[@ i ; ;o;;" def id; "def id @id end; @ ;IC;"(Returns the value of attribute +id+ ;o;;@;"(Returns the value of attribute +id+;"0;[;[;@ ;$[;&;';[;(F;);*;+[[@ i ; ;o;;"def key=(value); "'def key=(value) @key = value end; @ ;IC;"Sets the attribute +key+ ;o;;@;"SSets the attribute +key+ @param value the value to set the attribute +key+ to.;"0;[o;3 ;4" param;5"-the value to set the attribute +key+ to.;60;@ ; " value;[;@ ;$[;&;';[;(F;);*;+[[@ i ; : key=o;;" def key; "def key @key end; @ ;IC;")Returns the value of attribute +key+ ;o;;@;")Returns the value of attribute +key+;"0;[;[;@ ;$[;&;';[;(F;);*;+[[@ i ; :keyo;;" def user; "def user @user end; @ ;IC;"*Returns the value of attribute +user+ ;o;;@;"*Returns the value of attribute +user+;"0;[;[;@ ;$[;&;';[;(F;);*;+[[@ i ; ;Xo;;"=def self.find_all Api.api.get("user/keys") end; "5def self.find_all Api.api.get("user/keys") end; @ ;#i;IC;" ;o;;@;";"0;[;[;@ ;$[;%T;&;.;[;(F;);*;+[[@ i; ;\o;;"zdef self.add(opts) Api.api.post("/user/key/add", { :title => opts[:title], :key => opts[:key] }) end; "ndef self.add(opts) Api.api.post("/user/key/add", { :title => opts[:title], :key => opts[:key] }) end; @ ;#i;IC;" ;o;;@;";"0;[;[;@ ;$[[" opts0;%T;&;.;[;(F;);*;+[[@ i; ;8o;;"def remove result = Api.api.post "/user/key/remove", :id => id keys = result["public_keys"].select { |k| k["title"] == title } end; "def remove result = Api.api.post "/user/key/remove", :id => id keys = result["public_keys"].select { |k| k["title"] == title } end; @ ;#i;IC;" ;o;;@;";"0;[;[;@. ;$[;%T;&;';[;(F;);*;+[[@ i; : remove;@ ;[;(F;-IC;{;.IC;{;/T;'IC;{ ;XIC;{;c0;d@ ;/T;IC;{;c@ ;d@ ;/T;IC;{;c@ ;d@ ;/T;IC;{;c@ ;d@ ;/T;/T;/T;+[[@ i;0IC;[o; ; @ ;@; ;;@ ; :Keyo; ; o; ; @ ;@; ;u;IC;[;@F ; @ ;IC;" ;o;;@;";"0;[;[;@F ;{;IC;[ o;;"def name=(value); ")def name=(value) @name = value end; @F ;IC;"Sets the attribute +name+ ;o;;@;"USets the attribute +name+ @param value the value to set the attribute +name+ to.;"0;[o;3 ;4" param;5".the value to set the attribute +name+ to.;60;@P ; " value;[;@P ;$[;&;';[;(F;);*;+[["lib/octopi/plan.rbi; ;o;;" def name; "def name @name end; @F ;IC;"*Returns the value of attribute +name+ ;o;;@;"*Returns the value of attribute +name+;"0;[;[;@a ;$[;&;';[;(F;);*;+[[@` i; ;o;;"def collaborators=(value); ";def collaborators=(value) @collaborators = value end; @F ;IC;"'Sets the attribute +collaborators+ ;o;;@;"gSets the attribute +collaborators+ @param value the value to set the attribute +collaborators+ to.;"0;[o;3 ;4" param;5"7the value to set the attribute +collaborators+ to.;60;@m ; " value;[;@m ;$[;&;';[;(F;);*;+[[@` i; :collaborators=o;;"def collaborators; "+def collaborators @collaborators end; @F ;IC;"3Returns the value of attribute +collaborators+ ;o;;@;"3Returns the value of attribute +collaborators+;"0;[;[;@} ;$[;&;';[;(F;);*;+[[@` i; :collaboratorso;;"def space=(value); "+def space=(value) @space = value end; @F ;IC;"Sets the attribute +space+ ;o;;@;"WSets the attribute +space+ @param value the value to set the attribute +space+ to.;"0;[o;3 ;4" param;5"/the value to set the attribute +space+ to.;60;@ ; " value;[;@ ;$[;&;';[;(F;);*;+[[@` i; : space=o;;"def space; "def space @space end; @F ;IC;"+Returns the value of attribute +space+ ;o;;@;"+Returns the value of attribute +space+;"0;[;[;@ ;$[;&;';[;(F;);*;+[[@` i; : spaceo;;"def private_repos=(value); ";def private_repos=(value) @private_repos = value end; @F ;IC;"'Sets the attribute +private_repos+ ;o;;@;"gSets the attribute +private_repos+ @param value the value to set the attribute +private_repos+ to.;"0;[o;3 ;4" param;5"7the value to set the attribute +private_repos+ to.;60;@ ; " value;[;@ ;$[;&;';[;(F;);*;+[[@` i; :private_repos=o;;"def private_repos; "+def private_repos @private_repos end; @F ;IC;"3Returns the value of attribute +private_repos+ ;o;;@;"3Returns the value of attribute +private_repos+;"0;[;[;@ ;$[;&;';[;(F;);*;+[[@` i; :private_repos;@F ;[;(F;-IC;{;.IC;{;/T;'IC;{ ;IC;{;c@ ;d@ ;/T;IC;{;c@ ;d@ ;/T;IC;{;c@P ;d@a ;/T;IC;{;c@m ;d@} ;/T;/T;/T;+[[@` i;0IC;[;@F ; : Plano; ; o; ; @ ;@; ;u;IC;[;@ ; @ ;IC;" ;o;;@;";"0;[;[;@ ;{;IC;[+o;;"def description=(value); "7def description=(value) @description = value end; @ ;IC;"%Sets the attribute +description+ ;o;;@;"cSets the attribute +description+ @param value the value to set the attribute +description+ to.;"0;[o;3 ;4" param;5"5the value to set the attribute +description+ to.;60;@ ; " value;[;@ ;$[;&;';[;(F;);*;+[["lib/octopi/repository.rbi ; :description=o;;"def description; "'def description @description end; @ ;IC;"1Returns the value of attribute +description+ ;o;;@;"1Returns the value of attribute +description+;"0;[;[;@ ;$[;&;';[;(F;);*;+[[@ i ; :descriptiono;;"def url=(value); "'def url=(value) @url = value end; @ ;IC;"Sets the attribute +url+ ;o;;@;"SSets the attribute +url+ @param value the value to set the attribute +url+ to.;"0;[o;3 ;4" param;5"-the value to set the attribute +url+ to.;60;@ ; " value;[;@ ;$[;&;';[;(F;);*;+[[@ i ; ;o;;" def url; "def url @url end; @ ;IC;")Returns the value of attribute +url+ ;o;;@;")Returns the value of attribute +url+;"0;[;[;@ ;$[;&;';[;(F;);*;+[[@ i ; ;o;;"def forks=(value); "+def forks=(value) @forks = value end; @ ;IC;"Sets the attribute +forks+ ;o;;@;"WSets the attribute +forks+ @param value the value to set the attribute +forks+ to.;"0;[o;3 ;4" param;5"/the value to set the attribute +forks+ to.;60;@ ; " value;[;@ ;$[;&;';[;(F;);*;+[[@ i ; : forks=o;;"def forks; "def forks @forks end; @ ;IC;"+Returns the value of attribute +forks+ ;o;;@;"+Returns the value of attribute +forks+;"0;[;[;@ ;$[;&;';[;(F;);*;+[[@ i ; : forkso;;"def name=(value); ")def name=(value) @name = value end; @ ;IC;"Sets the attribute +name+ ;o;;@;"USets the attribute +name+ @param value the value to set the attribute +name+ to.;"0;[o;3 ;4" param;5".the value to set the attribute +name+ to.;60;@+ ; " value;[;@+ ;$[;&;';[;(F;);*;+[[@ i ; ;o;;" def name; "def name @name end; @ ;IC;"*Returns the value of attribute +name+ ;o;;@;"*Returns the value of attribute +name+;"0;[;[;@; ;$[;&;';[;(F;);*;+[[@ i ; ;o;;"def homepage=(value); "1def homepage=(value) @homepage = value end; @ ;IC;""Sets the attribute +homepage+ ;o;;@;"]Sets the attribute +homepage+ @param value the value to set the attribute +homepage+ to.;"0;[o;3 ;4" param;5"2the value to set the attribute +homepage+ to.;60;@G ; " value;[;@G ;$[;&;';[;(F;);*;+[[@ i ; :homepage=o;;"def homepage; "!def homepage @homepage end; @ ;IC;".Returns the value of attribute +homepage+ ;o;;@;".Returns the value of attribute +homepage+;"0;[;[;@W ;$[;&;';[;(F;);*;+[[@ i ; : homepageo;;"def watchers=(value); "1def watchers=(value) @watchers = value end; @ ;IC;""Sets the attribute +watchers+ ;o;;@;"]Sets the attribute +watchers+ @param value the value to set the attribute +watchers+ to.;"0;[o;3 ;4" param;5"2the value to set the attribute +watchers+ to.;60;@c ; " value;[;@c ;$[;&;';[;(F;);*;+[[@ i ; :watchers=o;;"def watchers; "!def watchers @watchers end; @ ;IC;".Returns the value of attribute +watchers+ ;o;;@;".Returns the value of attribute +watchers+;"0;[;[;@s ;$[;&;';[;(F;);*;+[[@ i ; : watcherso;;">def owner=(owner) @owner = User.find(owner) end; "6def owner=(owner) @owner = User.find(owner) end; @ ;#i;IC;"Sets the attribute +owner+ ;o;;@;"WSets the attribute +owner+ @param value the value to set the attribute +owner+ to.;"0;[o;3 ;4" param;5"/the value to set the attribute +owner+ to.;60;@ ; " value;[;@ ;$[[" owner0;%T;&;';[;(F;);*;+[[@ i [@ i; : owner=o;;"def owner; "def owner @owner end; @ ;IC;"+Returns the value of attribute +owner+ ;o;;@;"+Returns the value of attribute +owner+;"0;[;[;@ ;$[;&;';[;(F;);*;+[[@ i ; : ownero;;"def private=(value); "/def private=(value) @private = value end; @ ;IC;"!Sets the attribute +private+ ;o;;@;"[Sets the attribute +private+ @param value the value to set the attribute +private+ to.;"0;[o;3 ;4" param;5"1the value to set the attribute +private+ to.;60;@ ; " value;[;@ ;$[;&;';[;(F;);*;+[[@ i [@ i; : private=o;;"def private; "def private @private end; @ ;IC;"-Returns the value of attribute +private+ ;o;;@;"-Returns the value of attribute +private+;"0;[;[;@ ;$[;&;';[;(F;);*;+[[@ i [@ i; ;`o;;"def fork=(value); ")def fork=(value) @fork = value end; @ ;IC;"Sets the attribute +fork+ ;o;;@;"USets the attribute +fork+ @param value the value to set the attribute +fork+ to.;"0;[o;3 ;4" param;5".the value to set the attribute +fork+ to.;60;@ ; " value;[;@ ;$[;&;';[;(F;);*;+[[@ i ; : fork=o;;" def fork; "def fork @fork end; @ ;IC;"*Returns the value of attribute +fork+ ;o;;@;"*Returns the value of attribute +fork+;"0;[;[;@ ;$[;&;';[;(F;);*;+[[@ i ; : forko;;"def open_issues=(value); "7def open_issues=(value) @open_issues = value end; @ ;IC;"%Sets the attribute +open_issues+ ;o;;@;"cSets the attribute +open_issues+ @param value the value to set the attribute +open_issues+ to.;"0;[o;3 ;4" param;5"5the value to set the attribute +open_issues+ to.;60;@ ; " value;[;@ ;$[;&;';[;(F;);*;+[[@ i ; :open_issues=o;;"def open_issues; "'def open_issues @open_issues end; @ ;IC;"1Returns the value of attribute +open_issues+ ;o;;@;"1Returns the value of attribute +open_issues+;"0;[;[;@ ;$[;&;';[;(F;);*;+[[@ i ; :open_issueso;;"def pledgie=(value); "/def pledgie=(value) @pledgie = value end; @ ;IC;"!Sets the attribute +pledgie+ ;o;;@;"[Sets the attribute +pledgie+ @param value the value to set the attribute +pledgie+ to.;"0;[o;3 ;4" param;5"1the value to set the attribute +pledgie+ to.;60;@ ; " value;[;@ ;$[;&;';[;(F;);*;+[[@ i ; : pledgie=o;;"def pledgie; "def pledgie @pledgie end; @ ;IC;"-Returns the value of attribute +pledgie+ ;o;;@;"-Returns the value of attribute +pledgie+;"0;[;[;@;$[;&;';[;(F;);*;+[[@ i ; : pledgieo;;"+def branches BranchSet end ; "!def branches BranchSet end; @ ;#i;IC;"Returns all branches for the Repository Example: repo = Repository.find("fcoury", "octopi") repo.branches.each { |r| puts r.name } ;o;;@;[ ",Returns all branches for the Repository"" Example:"1 repo = Repository.find("fcoury", "octopi")"- repo.branches.each { |r| puts r.name }";"o;<;=i;>F;?i;[;[;@;$[;%T;&;';[;(T;);*;+[[@ i; : brancheso;;"F;?i&;[;[;@#;$[;%T;&;';[;(T;);*;+[[@ i'; : tagso;;"def comments # We have to specify xmlns as a prefix as the document is namespaced. # Be wary! path = "http#{'s' if private}://github.com/#{owner}/#{name}/comments.atom" xml = Nokogiri::XML(Net::HTTP.get(URI.parse(path))) entries = xml.xpath("//xmlns:entry") comments = [] for entry in entries content = entry.xpath("xmlns:content").text.gsub("<", "<").gsub(">", ">") comments << Comment.new( :id => entry.xpath("xmlns:id"), :published => Time.parse(entry.xpath("xmlns:published").text), :updated => Time.parse(entry.xpath("xmlns:updated").text), :link => entry.xpath("xmlns:link/@href").text, :title => entry.xpath("xmlns:title").text, :content => content, :author => entry.xpath("xmlns:author/xmlns:name").text, :repository => self ) end comments end; "Cdef comments # We have to specify xmlns as a prefix as the document is namespaced. # Be wary! path = "http#{'s' if private}://github.com/#{owner}/#{name}/comments.atom" xml = Nokogiri::XML(Net::HTTP.get(URI.parse(path))) entries = xml.xpath("//xmlns:entry") comments = [] for entry in entries content = entry.xpath("xmlns:content").text.gsub("<", "<").gsub(">", ">") comments << Comment.new( :id => entry.xpath("xmlns:id"), :published => Time.parse(entry.xpath("xmlns:published").text), :updated => Time.parse(entry.xpath("xmlns:updated").text), :link => entry.xpath("xmlns:link/@href").text, :title => entry.xpath("xmlns:title").text, :content => content, :author => entry.xpath("xmlns:author/xmlns:name").text, :repository => self ) end comments end; @ ;#i-;IC;".Returns all the comments for a Repository ;o;;@;[".Returns all the comments for a Repository;"o;<;=i,;>F;?i,;[;[;@6;$[;%T;&;';[;(T;);*;+[[@ i-; : commentso;;"def clone_url url = private? || api.login == self.owner ? "git@github.com:" : "git://github.com/" url += "#{self.owner}/#{self.name}.git" end; "def clone_url url = private? || api.login == self.owner ? "git@github.com:" : "git://github.com/" url += "#{self.owner}/#{self.name}.git" end; @ ;#iD;IC;" ;o;;@;";"0;[;[;@D;$[;%T;&;';[;(F;);*;+[[@ iD; :clone_urlo;;"sdef self.find(options={}) self.validate_hash(options) # Lots of people call the same thing differently. repo = options[:repo] || options[:repository] || options[:name] user = options[:user].to_s return find_plural(user, :resource) if repo.nil? self.validate_args(user => :user, repo => :repo) super user, repo end; "Kdef self.find(options={}) self.validate_hash(options) # Lots of people call the same thing differently. repo = options[:repo] || options[:repository] || options[:name] user = options[:user].to_s return find_plural(user, :resource) if repo.nil? self.validate_args(user => :user, repo => :repo) super user, repo end; @ ;#iI;IC;" ;o;;@;";"0;[;[;@P;$[[" options"{};%T;&;.;[;(F;);*;+[[@ iI; ;7o;;"def self.find_all(*args) # FIXME: This should be URI escaped, but have to check how the API # handles escaped characters first. super args.join(" ").gsub(/ /,'+') end; "def self.find_all(*args) # FIXME: This should be URI escaped, but have to check how the API # handles escaped characters first. super args.join(" ").gsub(/ /,'+') end; @ ;#iU;IC;" ;o;;@;";"0;[;[;@_;$[[" *args0;%T;&;.;[;(F;);*;+[[@ iU; ;\o;;"Wdef self.open_issue(args) Issue.open(args[:user], args[:repo], args) end; "Odef self.open_issue(args) Issue.open(args[:user], args[:repo], args) end; @ ;#i[;IC;" ;o;;@;";"0;[;[;@m;$[[" args0;%T;&;.;[;(F;);*;+[[@ i[; ;Yo;;"Jdef open_issue(args) Issue.open(self.owner, self, args) end; "Bdef open_issue(args) Issue.open(self.owner, self, args) end; @ ;#i_;IC;" ;o;;@;";"0;[;[;@{;$[[" args0;%T;&;';[;(F;);*;+[[@ i_; ;Yo;;"\def commits(branch = "master") Commit.find_all(self, {:branch => branch}) end; "Tdef commits(branch = "master") Commit.find_all(self, {:branch => branch}) end; @ ;#ic;IC;" ;o;;@;";"0;[;[;@;$[[" branch" "master";%T;&;';[;(F;);*;+[[@ ic; ;Zo;;"wdef issues(state = "open") IssueSet.new(Octopi::Issue.find_all(:user => owner, :repository => self)) end; "odef issues(state = "open") IssueSet.new(Octopi::Issue.find_all(:user => owner, :repository => self)) end; @ ;#ig;IC;" ;o;;@;";"0;[;[;@;$[[" state" "open";%T;&;';[;(F;);*;+[[@ ig; : issueso;;"Wdef all_issues Issue::STATES.map{|state| self.issues(state)}.flatten end; "Odef all_issues Issue::STATES.map{|state| self.issues(state)}.flatten end; @ ;#ik;IC;" ;o;;@;";"0;[;[;@;$[;%T;&;';[;(F;);*;+[[@ ik; :all_issueso;;"Idef issue(number) Issue.find(self.owner, self, number) end; "Adef issue(number) Issue.find(self.owner, self, number) end; @ ;#io;IC;" ;o;;@;";"0;[;[;@;$[[" number0;%T;&;';[;(F;);*;+[[@ io; : issueo;;"idef collaborators property('collaborators', [self.owner,self.name].join('/')).values end ; "_def collaborators property('collaborators', [self.owner,self.name].join('/')).values end; @ ;#is;IC;" ;o;;@;";"0;[;[;@;$[;%T;&;';[;(F;);*;+[[@ is; ;o;;"Ldef self.create(owner, name, opts = {}) api = owner.is_a?(User) ? owner.api : ANONYMOUS_API raise APIError, "To create a repository you must be authenticated." if api.read_only? self.validate_args(name => :repo) api.post(path_for(:create), opts.merge(:name => name)) self.find(owner, name, api) end; "4def self.create(owner, name, opts = {}) api = owner.is_a?(User) ? owner.api : ANONYMOUS_API raise APIError, "To create a repository you must be authenticated." if api.read_only? self.validate_args(name => :repo) api.post(path_for(:create), opts.merge(:name => name)) self.find(owner, name, api) end; @ ;#iw;IC;" ;o;;@;";"0;[o;3 ;4" raise;5";6[" APIError;@; 0;[;@;$[[" owner0[" name0[" opts"{};%T;&;.;[;(F;);*;+[[@ iw; : createo;;"def delete token = @api.post(self.class.path_for(:delete), :id => self.name)['delete_token'] @api.post(self.class.path_for(:delete), :id => self.name, :delete_token => token) unless token.nil? end; "def delete token = @api.post(self.class.path_for(:delete), :id => self.name)['delete_token'] @api.post(self.class.path_for(:delete), :id => self.name, :delete_token => token) unless token.nil? end; @ ;#i;IC;" ;o;;@;";"0;[;[;@;$[;%T;&;';[;(F;);*;+[[@ i; : deleteo;;" def to_s name end; "def to_s name end; @ ;#i;IC;" ;o;;@;";"0;[;[;@;$[;%T;&;';[;(F;);*;+[[@ i; ;;@ ;[;(F;-IC;{;.IC;{;/T;'IC;{;IC;{;c@ ;d@ ;/T;IC;{;c@c ;d@s ;/T;IC;{;c@ ;d@ ;/T;IC;{;c@ ;d@ ;/T;IC;{;c@ ;d@;/T;IC;{;c@G ;d@W ;/T;IC;{;c@+ ;d@; ;/T;`IC;{;c@ ;d@ ;/T;IC;{;c@ ;d@ ;/T;IC;{;c@ ;d@ ;/T;IC;{;c@ ;d@ ;/T;/T;/T;+[[@ i;0IC;[o; ; @ ;@; ;;@ ; :Repositoryo; ; o; ; o; ; @;@ ; ;9;0; ;2;IC;[;@; @;IC;" ;o;;@;";"0;[;[;@;{;IC;[o;;"def user=(value); ")def user=(value) @user = value end; @;IC;"Sets the attribute +user+ ;o;;@;"USets the attribute +user+ @param value the value to set the attribute +user+ to.;"0;[o;3 ;4" param;5".the value to set the attribute +user+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[["!lib/octopi/repository_set.rbi ; ;o;;" def user; "def user @user end; @;IC;"*Returns the value of attribute +user+ ;o;;@;"*Returns the value of attribute +user+;"0;[;[;@,;$[;&;';[;(F;);*;+[[@+i ; ;Xo;;"^def find(name) Octopi::Repository.find(:user => self.user, :repository => name) end; "Zdef find(name) Octopi::Repository.find(:user => self.user, :repository => name) end; @;#i ;IC;" ;o;;@;";"0;[;[;@8;$[[" name0;%T;&;';[;(F;);*;+[[@+i ; ;7;@;[;(F;-IC;{;.IC;{;/T;'IC;{;XIC;{;c@;d@,;/T;/T;/T;+[[@+i;0IC;[o; ; @;@ ; ;9;@; :RepositorySet@o; ; o; ; @ ;@; ;u;IC;[;@O; @ ;IC;" ;o;;@;";"0;[;[;@O;{;IC;[o;;"def self.all(opts) user, repo = gather_details(opts) self.validate_args(user => :user, repo => :repo) find_plural([user, repo, 'tags'], :resource) { |i| {:name => i.first, :hash => i.last } } end; "def self.all(opts) user, repo = gather_details(opts) self.validate_args(user => :user, repo => :repo) find_plural([user, repo, 'tags'], :resource) { |i| {:name => i.first, :hash => i.last } } end; @O;#i ;IC;" ;o;;@;";"0;[;[;@Y;$[[" opts0;%T;&;.;[;(F;);*;+[["lib/octopi/tag.rbi ; ;;@O;[;(F;-IC;{;.IC;{;/T;'IC;{;/T;/T;+[[@gi;0IC;[o; ; @O;@; ;;@O; :Tago; ; o; ; @ ;@; ;u;IC;[;@p; @ ;IC;" ;o;;@;";"0;[;[;@p;{;IC;[3o;;"def company=(value); "/def company=(value) @company = value end; @p;IC;"!Sets the attribute +company+ ;o;;@;"[Sets the attribute +company+ @param value the value to set the attribute +company+ to.;"0;[o;3 ;4" param;5"1the value to set the attribute +company+ to.;60;@z; " value;[;@z;$[;&;';[;(F;);*;+[["lib/octopi/user.rbi ; : company=o;;"def company; "def company @company end; @p;IC;"-Returns the value of attribute +company+ ;o;;@;"-Returns the value of attribute +company+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; : companyo;;"def name=(value); ")def name=(value) @name = value end; @p;IC;"Sets the attribute +name+ ;o;;@;"USets the attribute +name+ @param value the value to set the attribute +name+ to.;"0;[o;3 ;4" param;5".the value to set the attribute +name+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@i ; ;o;;" def name; "def name @name end; @p;IC;"*Returns the value of attribute +name+ ;o;;@;"*Returns the value of attribute +name+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; ;o;;" def following_count=(value); "?def following_count=(value) @following_count = value end; @p;IC;")Sets the attribute +following_count+ ;o;;@;"kSets the attribute +following_count+ @param value the value to set the attribute +following_count+ to.;"0;[o;3 ;4" param;5"9the value to set the attribute +following_count+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@i ; :following_count=o;;"def following_count; "/def following_count @following_count end; @p;IC;"5Returns the value of attribute +following_count+ ;o;;@;"5Returns the value of attribute +following_count+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; :following_counto;;"def blog=(value); ")def blog=(value) @blog = value end; @p;IC;"Sets the attribute +blog+ ;o;;@;"USets the attribute +blog+ @param value the value to set the attribute +blog+ to.;"0;[o;3 ;4" param;5".the value to set the attribute +blog+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@i ; : blog=o;;" def blog; "def blog @blog end; @p;IC;"*Returns the value of attribute +blog+ ;o;;@;"*Returns the value of attribute +blog+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; : blogo;;""def public_repo_count=(value); "Cdef public_repo_count=(value) @public_repo_count = value end; @p;IC;"+Sets the attribute +public_repo_count+ ;o;;@;"oSets the attribute +public_repo_count+ @param value the value to set the attribute +public_repo_count+ to.;"0;[o;3 ;4" param;5";the value to set the attribute +public_repo_count+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@i ; :public_repo_count=o;;"def public_repo_count; "3def public_repo_count @public_repo_count end; @p;IC;"7Returns the value of attribute +public_repo_count+ ;o;;@;"7Returns the value of attribute +public_repo_count+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; :public_repo_counto;;""def public_gist_count=(value); "Cdef public_gist_count=(value) @public_gist_count = value end; @p;IC;"+Sets the attribute +public_gist_count+ ;o;;@;"oSets the attribute +public_gist_count+ @param value the value to set the attribute +public_gist_count+ to.;"0;[o;3 ;4" param;5";the value to set the attribute +public_gist_count+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@i ; :public_gist_count=o;;"def public_gist_count; "3def public_gist_count @public_gist_count end; @p;IC;"7Returns the value of attribute +public_gist_count+ ;o;;@;"7Returns the value of attribute +public_gist_count+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; :public_gist_counto;;"def id=(value); "%def id=(value) @id = value end; @p;IC;"Sets the attribute +id+ ;o;;@;"QSets the attribute +id+ @param value the value to set the attribute +id+ to.;"0;[o;3 ;4" param;5",the value to set the attribute +id+ to.;60;@#; " value;[;@#;$[;&;';[;(F;);*;+[[@i ; ;o;;" def id; "def id @id end; @p;IC;"(Returns the value of attribute +id+ ;o;;@;"(Returns the value of attribute +id+;"0;[;[;@3;$[;&;';[;(F;);*;+[[@i ; ;o;;"def login=(value); "+def login=(value) @login = value end; @p;IC;"Sets the attribute +login+ ;o;;@;"WSets the attribute +login+ @param value the value to set the attribute +login+ to.;"0;[o;3 ;4" param;5"/the value to set the attribute +login+ to.;60;@?; " value;[;@?;$[;&;';[;(F;);*;+[[@i ; ;Do;;"def login; "def login @login end; @p;IC;"+Returns the value of attribute +login+ ;o;;@;"+Returns the value of attribute +login+;"0;[;[;@O;$[;&;';[;(F;);*;+[[@i ; ;Eo;;" def followers_count=(value); "?def followers_count=(value) @followers_count = value end; @p;IC;")Sets the attribute +followers_count+ ;o;;@;"kSets the attribute +followers_count+ @param value the value to set the attribute +followers_count+ to.;"0;[o;3 ;4" param;5"9the value to set the attribute +followers_count+ to.;60;@[; " value;[;@[;$[;&;';[;(F;);*;+[[@i ; :followers_count=o;;"def followers_count; "/def followers_count @followers_count end; @p;IC;"5Returns the value of attribute +followers_count+ ;o;;@;"5Returns the value of attribute +followers_count+;"0;[;[;@k;$[;&;';[;(F;);*;+[[@i ; :followers_counto;;"def created_at=(value); "5def created_at=(value) @created_at = value end; @p;IC;"$Sets the attribute +created_at+ ;o;;@;"aSets the attribute +created_at+ @param value the value to set the attribute +created_at+ to.;"0;[o;3 ;4" param;5"4the value to set the attribute +created_at+ to.;60;@w; " value;[;@w;$[;&;';[;(F;);*;+[[@i ; ;o;;"def created_at; "%def created_at @created_at end; @p;IC;"0Returns the value of attribute +created_at+ ;o;;@;"0Returns the value of attribute +created_at+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; ;o;;"def email=(value); "+def email=(value) @email = value end; @p;IC;"Sets the attribute +email+ ;o;;@;"WSets the attribute +email+ @param value the value to set the attribute +email+ to.;"0;[o;3 ;4" param;5"/the value to set the attribute +email+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@i ; : email=o;;"def email; "def email @email end; @p;IC;"+Returns the value of attribute +email+ ;o;;@;"+Returns the value of attribute +email+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; : emailo;;"def location=(value); "1def location=(value) @location = value end; @p;IC;""Sets the attribute +location+ ;o;;@;"]Sets the attribute +location+ @param value the value to set the attribute +location+ to.;"0;[o;3 ;4" param;5"2the value to set the attribute +location+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@i ; :location=o;;"def location; "!def location @location end; @p;IC;".Returns the value of attribute +location+ ;o;;@;".Returns the value of attribute +location+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; : locationo;;"def disk_usage=(value); "5def disk_usage=(value) @disk_usage = value end; @p;IC;"$Sets the attribute +disk_usage+ ;o;;@;"aSets the attribute +disk_usage+ @param value the value to set the attribute +disk_usage+ to.;"0;[o;3 ;4" param;5"4the value to set the attribute +disk_usage+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@i ; :disk_usage=o;;"def disk_usage; "%def disk_usage @disk_usage end; @p;IC;"0Returns the value of attribute +disk_usage+ ;o;;@;"0Returns the value of attribute +disk_usage+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; :disk_usageo;;"#def private_repo_count=(value); "Edef private_repo_count=(value) @private_repo_count = value end; @p;IC;",Sets the attribute +private_repo_count+ ;o;;@;"qSets the attribute +private_repo_count+ @param value the value to set the attribute +private_repo_count+ to.;"0;[o;3 ;4" param;5"Returns the value of attribute +owned_private_repo_count+ ;o;;@;">Returns the value of attribute +owned_private_repo_count+;"0;[;[;@k;$[;&;';[;(F;);*;+[[@i ; :owned_private_repo_counto;;")def total_private_repo_count=(value); "Qdef total_private_repo_count=(value) @total_private_repo_count = value end; @p;IC;"2Sets the attribute +total_private_repo_count+ ;o;;@;"}Sets the attribute +total_private_repo_count+ @param value the value to set the attribute +total_private_repo_count+ to.;"0;[o;3 ;4" param;5"Bthe value to set the attribute +total_private_repo_count+ to.;60;@w; " value;[;@w;$[;&;';[;(F;);*;+[[@i ; :total_private_repo_count=o;;"!def total_private_repo_count; "Adef total_private_repo_count @total_private_repo_count end; @p;IC;">Returns the value of attribute +total_private_repo_count+ ;o;;@;">Returns the value of attribute +total_private_repo_count+;"0;[;[;@;$[;&;';[;(F;);*;+[[@i ; :total_private_repo_counto;;"edef self.find(username) self.validate_args(username => :user) super username end; "Ydef self.find(username) self.validate_args(username => :user) super username end; @p;#i;IC;"Finds a single user identified by the given username Example: user = User.find("fcoury") puts user.login # should return 'fcoury' ;o;;@;[ "9Finds a single user identified by the given username"" Example:" "! user = User.find("fcoury")"/ puts user.login # should return 'fcoury';"o;<;=i;>F;?i;[;[;@;$[[" username0;%T;&;.;[;(T;);*;+[[@i; ;7o;;"idef self.find_all(username) self.validate_args(username => :user) super username end; "]def self.find_all(username) self.validate_args(username => :user) super username end; @p;#i#;IC;"yFinds all users whose username matches a given string Example: User.find_all("oe") # Matches joe, moe and monroe ;o;;@;[ ":Finds all users whose username matches a given string"" Example:""8 User.find_all("oe") # Matches joe, moe and monroe";"o;<;=i;>F;?i";[;[;@;$[[" username0;%T;&;.;[;(T;);*;+[[@i#; ;\o;;"~def repositories rs = RepositorySet.new(Repository.find(:user => self.login)) rs.user = self rs end; "ndef repositories rs = RepositorySet.new(Repository.find(:user => self.login)) rs.user = self rs end; @p;#i.;IC;"Returns a collection of Repository objects, containing all repositories of the user. If user is the current authenticated user, some additional information will be provided for the Repositories. ;o;;@;[ ";Returns a collection of Repository objects, containing""all repositories of the user.""4If user is the current authenticated user, some"4additional information will be provided for the"Repositories.;"o;<;=i(;>F;?i-;[;[;@;$[;%T;&;';[;(T;);*;+[[@i.; :repositorieso;;"def repository(options={}) options = { :name => options } if options.is_a?(String) self.class.validate_hash(options) Repository.find({ :user => login }.merge!(options)) end; "def repository(options={}) options = { :name => options } if options.is_a?(String) self.class.validate_hash(options) Repository.find({ :user => login }.merge!(options)) end; @p;#i5;IC;"4Searches for user Repository identified by name ;o;;@;["4Searches for user Repository identified by name;"o;<;=i4;>F;?i4;[;[;@;$[[" options"{};%T;&;';[;(T;);*;+[[@i5; ;Ao;;"def create_repository(name, opts = {}) self.class.validate_args(name => :repo) Repository.create(self, name, opts) end; "def create_repository(name, opts = {}) self.class.validate_args(name => :repo) Repository.create(self, name, opts) end; @p;#i;;IC;" ;o;;@;";"0;[;[;@;$[[" name0[" opts"{};%T;&;';[;(F;);*;+[[@i;; :create_repositoryo;;")def keys raise APIError, "To view keys, you must be authenticated" if Api.api.read_only? result = Api.api.get("/user/keys") return unless result and result["public_keys"] KeySet.new(result["public_keys"].inject([]) { |result, element| result << Key.new(element) }) end; "def keys raise APIError, "To view keys, you must be authenticated" if Api.api.read_only? result = Api.api.get("/user/keys") return unless result and result["public_keys"] KeySet.new(result["public_keys"].inject([]) { |result, element| result << Key.new(element) }) end; @p;#iB;IC;"sReturns a list of Key objects containing all SSH Public Keys this user currently has. Requires authentication. ;o;;@;["KReturns a list of Key objects containing all SSH Public Keys this user",currently has. Requires authentication.;"o;<;=i@;>F;?iA;[o;3 ;4" raise;5";6[" APIError;@; 0;[;@;$[;%T;&;';[;(T;);*;+[[@iB; : keyso;;"def user_property(property, deep) users = [] property(property, login).each_pair do |k,v| return v unless deep v.each { |u| users << User.find(u) } end users end; "def user_property(property, deep) users = [] property(property, login).each_pair do |k,v| return v unless deep v.each { |u| users << User.find(u) } end users end; @p;#iU;IC;" ;o;;@;";"0;[;[;@;$[[" property0[" deep0;%T;&;';[;(F;);*;+[[@iU; :user_propertyo;;"!def to_s login end; "def to_s login end; @p;#ib;IC;"mIf a user object is passed into a method, we can use this. It'll also work if we pass in just the login. ;o;;@;["?If a user object is passed into a method, we can use this."2It'll also work if we pass in just the login.;"o;<;=i`;>F;?ia;[;[;@;$[;%T;&;';[;(T;);*;+[[@ib; ;;@p;[;(F;-IC;{;.IC;{;/T;'IC;{;IC;{;c@;d@;/T;IC;{;c@;d@;/T;IC;{;c@;d@;/T;IC;{;c@;;d@O;/T; IC;{;c@[;d@k;/T;IC;{;c@;d@;/T;IC;{;c@[;d@k;/T;IC;{;c@z;d@;/T;IC;{;c@;d@;/T;EIC;{;c@?;d@O;/T;IC;{;c@w;d@;/T;IC;{;c@;d@;/T;IC;{;c@;d@;/T;IC;{;c@;d@/;/T; IC;{;c@;d@;/T;IC;{;c@w;d@;/T;IC;{;c@#;d@3;/T;IC;{;c@;d@;/T;IC;{;c@;d@;/T;/T;/T;+[[@i;0IC;[o; ; @p;@; ;;@p; : User;@ ;[;(F;-IC;{;.IC;{;/T;'IC;{;/T;/T;+[[@i[@.i [@i[@i[@i[@i[@i["lib/octopi/file_object.rbi[@% i[@ i[@ i[@` i[@ i[@i[@gi[@i;0IC;[;@ ; ;9;@; ;u;IC;[;@ ; @ ;IC;" ;o;;@;";"0;[;[;@ ;{;IC;[o;;"def name=(value); ")def name=(value) @name = value end; @ ;IC;"Sets the attribute +name+ ;o;;@;"USets the attribute +name+ @param value the value to set the attribute +name+ to.;"0;[o;3 ;4" param;5".the value to set the attribute +name+ to.;60;@_; " value;[;@_;$[;&;';[;(F;);*;+[[@Mi; ;o;;" def name; "def name @name end; @ ;IC;"*Returns the value of attribute +name+ ;o;;@;"*Returns the value of attribute +name+;"0;[;[;@o;$[;&;';[;(F;);*;+[[@Mi; ;o;;"def sha=(value); "'def sha=(value) @sha = value end; @ ;IC;"Sets the attribute +sha+ ;o;;@;"SSets the attribute +sha+ @param value the value to set the attribute +sha+ to.;"0;[o;3 ;4" param;5"-the value to set the attribute +sha+ to.;60;@{; " value;[;@{;$[;&;';[;(F;);*;+[[@Mi; ;o;;" def sha; "def sha @sha end; @ ;IC;")Returns the value of attribute +sha+ ;o;;@;")Returns the value of attribute +sha+;"0;[;[;@;$[;&;';[;(F;);*;+[[@Mi; ;o;;"def mode=(value); ")def mode=(value) @mode = value end; @ ;IC;"Sets the attribute +mode+ ;o;;@;"USets the attribute +mode+ @param value the value to set the attribute +mode+ to.;"0;[o;3 ;4" param;5".the value to set the attribute +mode+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@Mi; : mode=o;;" def mode; "def mode @mode end; @ ;IC;"*Returns the value of attribute +mode+ ;o;;@;"*Returns the value of attribute +mode+;"0;[;[;@;$[;&;';[;(F;);*;+[[@Mi; : modeo;;"def type=(value); ")def type=(value) @type = value end; @ ;IC;"Sets the attribute +type+ ;o;;@;"USets the attribute +type+ @param value the value to set the attribute +type+ to.;"0;[o;3 ;4" param;5".the value to set the attribute +type+ to.;60;@; " value;[;@;$[;&;';[;(F;);*;+[[@Mi; : type=@o;;"def self.find(opts={}) user, repo, branch, sha = gather_details(opts) self.validate_args(sha => :sha, user => :user, repo => :repo) super [user, repo, sha] end; "def self.find(opts={}) user, repo, branch, sha = gather_details(opts) self.validate_args(sha => :sha, user => :user, repo => :repo) super [user, repo, sha] end; @ ;#i;IC;" ;o;;@;";"0;[;[;@;$[[" opts"{};%T;&;.;[;(F;);*;+[[@Mi; ;7;@ ;[;(F;-IC;{;.IC;{;/T;'IC;{ : typeIC;{;c@;d@;/T;!IC;{;c@;d@;/T;IC;{;c@{;d@;/T;IC;{;c@_;d@o;/T;/T;/T;+[[@Mi;0IC;[o; ; @ ;@; ;;@ ; :FileObject;IC;"*Returns the value of attribute +type+ ;o;;@;"*Returns the value of attribute +type+;"0;[;[;@;$[;&;';[;(F;);*;+[[@Mi; ;#:KeySet#add@T:Octopi::Comment#repository@u: Octopi::Repository#branches@:Octopi::Commit#removed@:Octopi::Issue#body=@ :Octopi::AuthApi#read_only?@:!Octopi::Repository#homepage=@G :Octopi::Commit#author=@ :#Octopi::User#create_repository@:+Octopi::User#owned_private_repo_count=@[:#Octopi::Resource::ClassMethods@:Octopi::Key.find_all@ :Octopi::Comment#content@:Octopi::NotFound@:Octopi::Issue#closed_at@ : Octopi::Repository#watchers@s :Octopi::Commit#url@7:$Octopi::AnonymousApi#read_only?@:*Octopi::User#total_private_repo_count@:Octopi::User#email=@:Octopi::Key@ :Octopi::Api.api=@:Octopi::Issue#repository@6 :Octopi::Plan#space=@ :)Octopi::Base.extract_user_repository@N:Octopi::User#location@:Octopi::User#blog=@:%Octopi::Repository#collaborators@:Octopi::IssueSet@H :Octopi::RetryableAPIError@:Octopi::Api#user@:Octopi::Branch#sha=@;:@6:/Octopi::Resource::ClassMethods#find_plural@:Octopi::Issue::STATES@ :Octopi::Base#property@:Octopi::Plan#private_repos@ :#Octopi::User#public_repo_count@:Octopi::Repository#commits@;1@;9@ :Octopi::Commit#modified=@:Octopi::Plan@F :Octopi::Api#format@:Octopi::Base@:Octopi::Comment#author=@: Octopi::Repository#comments@6:Octopi::Repository#owner=@ :Octopi::Commit#id=@C:Octopi::Commit.find_all@#:Octopi::Issue#labels=@ :Octopi::Api::@@api@:5Octopi::Resource::ClassMethods#set_resource_name@ : Octopi::RepositorySet#user=@:Octopi::Api#post@2:Octopi::BranchSet#user=@>:Octopi::Key#remove@. :Octopi::Comment#title@:Octopi::Api@w:Octopi::Repository#private@ :"Octopi::Commit#committed_date@o:Octopi::Issue#user=@B :Octopi::AuthApi@:Octopi::Issue#state@2 :Octopi::Blob#text@:Octopi::User.find_all@:Octopi::User#disk_usage=@:Octopi::RepositorySet#find@8:!Octopi::BranchSet#repository@k:Octopi::Api#save@:Octopi::Base.extract_names@\:#Octopi::Repository#description@ :Octopi::Issue#updated_at@n :$Octopi::User#private_repo_count@:$Octopi::User#public_gist_count=@:Octopi::Repository#delete@:Octopi::Api#open_issue@:.Octopi::Resource::ClassMethods#declassify@:Octopi::Api#login=@:Octopi::Repository@ :Octopi::User#id@3:Octopi::Repository#issues@:Octopi::Branch#initialize@:Octopi::Api#token@:Octopi::Base::VALID@:Octopi::Comment#updated=@:!Octopi::Repository#clone_url@D:Octopi::Repository#fork=@ :Octopi::Issue#save@ :"Octopi::Commit#authored_date=@{:Octopi::Issue#created_at=@> :!Octopi::Api::@@authenticated@&:Octopi::User#to_s@:1Octopi::Resource::ClassMethods#resource_name@:Octopi::FileObject#name@o:Octopi::Key#title=@ :Octopi::Api#submit@I:Octopi::Comment#link@!:#Octopi::Repository#open_issues@ :Octopi::Commit#tree@:Octopi::Issue#votes=@z :Octopi::Issue.find_all@Z :Octopi::Repository#url=@ :Octopi::Commit#repository=@:Octopi::User#repositories@:%Octopi::User#private_gist_count=@:Octopi::Key#id@ :Octopi::IssueSet#user=@S :Octopi::Api#find_all@:Octopi::Issue#number@ :Octopi::Base.validate_hash@j:Octopi::Repository#forks@ :Octopi::Commit#message@:Octopi::User#collaborators@/:Octopi::User#login=@?:Octopi::Api#repository@: Octopi::IssueSet#repository@ :,Octopi::Resource::ClassMethods#path_for@:Octopi::Base#api=@:Octopi::Api#trace_level=@:!Octopi::User#followers_count@k:Octopi::User#company=@z:"Octopi::Repository#all_issues@:!Octopi::IssueComment#comment@ :Octopi::Branch.all@:(Octopi::Resource::ClassMethods#find@c:Octopi::Base#initialize@:Octopi::Comment#published=@-:Octopi::Plan#name@a :Octopi::FileObject#sha=@{:Octopi::Api#read_only@:Octopi::User#name@: Octopi::Repository.find_all@_: Octopi::Repository#pledgie=@ :Octopi::Issue#prefix@ :Octopi::Commit#committer=@:/Octopi::Resource::ClassMethods#create_path@+:KeySet#find@@:Octopi::Comment#id@Y:Octopi::FileObject#mode@:Octopi::Key#key=@ :Octopi::Api#trace@g:Octopi::Resource@:Octopi::Issue.open@ :Octopi::Repository#name=@+ :Octopi::Commit#parents=@:Octopi::Commit#added@:Octopi::Issue#title=@ :Octopi::User#plan=@;:Octopi::Api#get_raw@:Octopi::Key#user@ : Octopi::Repository#homepage@W :Octopi::Commit#author@:Octopi::Issue#body@ :Octopi::Base.validate_args@}:*Octopi::User#owned_private_repo_count@k:Octopi::User#created_at=@w:Octopi::Api.authenticated=@d:)Octopi::RetryableAPIError#initialize@:!Octopi::IssueComment#status=@" :Octopi::Api#repo@: Octopi::Plan#collaborators=@m :Octopi::Base#error=@:Octopi::User#email@:"Octopi::User#following_count=@:Octopi::Repository#issue@:Octopi::Api.api@t:Octopi::Branch#name=@:Octopi::BranchSet@3:Octopi::FileObject#type=@:Octopi::AnonymousApi@: Octopi::Comment#repository=@e:Octopi::Plan#space@ :Octopi::User#blog@:"Octopi::Repository#open_issue@{:Octopi::Branch#sha@:Octopi::Commit#removed=@:Octopi::Api::CONTENT_TYPE@1:Octopi::Issue#command_path@ :-Octopi::Resource::ClassMethods#find_path@9:String#camel_case@":Octopi::Comment#content=@:Octopi::Repository#tags@#:Octopi::Issue#reopen!@ :!Octopi::Repository#watchers=@c :Octopi::Commit#url=@':Octopi::Commit#modified@:Octopi::Issue#closed_at=@ :Octopi::User#keys@:+Octopi::User#total_private_repo_count=@w: Octopi::NotFound#initialize@:Octopi::Api#get@:Octopi::Key.add@ :Octopi::Comment#author@:Octopi::Repository#owner@ :Octopi::Commit#id@S:Octopi::Issue#repository=@& :Octopi::Issue#labels@ :Octopi::Blob@:Octopi::User.find@:Octopi::User#location=@:Octopi::RepositorySet#user@,:Octopi::BranchSet#user@O:Octopi::ArgumentMustBeHash@:Octopi::Api#commits@:Octopi::Tag.all@Y:Octopi::Issue#user@R : Octopi::Plan#private_repos=@ :Octopi::User#disk_usage@:$Octopi::User#public_repo_count=@:Octopi::Repository.create@:Octopi::Base#save@&:Octopi::Api#format=@:#Octopi::User#public_gist_count@:Octopi::IssueComment@ :"Octopi::Api::RETRYABLE_STATUS@=:1Octopi::Resource::ClassMethods#resource_path@G:Octopi::FileObject.find@:Octopi::Comment#title=@:Octopi::Comment.find@:Octopi::Api#login@: Octopi::Repository#private=@ :Octopi::Commit.find@A:Octopi::Issue#state=@" :Octopi::Blob#text=@:Octopi::Issue#close!@ :Octopi::Blob.find@:#Octopi::Commit#committed_date=@_:Octopi::User#user_property@:Octopi::Comment#updated@:Octopi::FileObject@ :"Octopi::BranchSet#repository=@[:Octopi::Repository#fork@ :Octopi::Issue#created_at@N :$Octopi::Repository#description=@ :!Octopi::Commit#authored_date@:Octopi::Issue#updated_at=@^ :%Octopi::User#private_repo_count=@:Octopi::Resource.included@:Octopi::Api#find@:Octopi::Key#title@ :Octopi::BranchSet#find@w:Octopi::User@p:Octopi::Repository#url@ :Octopi::Commit#repository@:Octopi::Issue#votes@ :$Octopi::User#private_gist_count@:Octopi::User#id=@#:Octopi::Repository#to_s@:Octopi::IssueSet#user@d :Octopi::Base.gather_name@2:Octopi::Api#token=@:Octopi::User#login@O:#Octopi::FormatError#initialize@:Octopi::Api::MAX_RETRIES@I:Octopi::Branch#to_s@:/Octopi::Resource::ClassMethods#delete_path@U:Octopi::Comment#commit@:Octopi::FileObject#name=@_:Octopi::Api#trace_level@:Octopi::Issue@ :Octopi::Base#api@:Octopi::Comment#link=@:Octopi::User#company@:Octopi::Repository.find@P:$Octopi::Repository#open_issues=@ :Octopi::Branch@:Octopi::Commit#tree=@;;@:#Octopi::Commit#repo_identifier@`:Octopi::Issue#comment@ :Octopi::Key#id=@ :Octopi::Comment#published@=:Octopi::FileObject#sha@:Octopi::Repository#pledgie@:Octopi::Issue#number=@ :Octopi::Issue.find@x :Octopi::Repository#forks=@ :Octopi::Commit#message=@:Octopi::Commit#committer@:Octopi::User#repository@: Octopi::User#collaborators=@:Octopi::Resource.for@:!Octopi::IssueSet#repository=@p :Octopi::Key#key@ :Octopi::Comment@:Octopi::Repository#name@; :Octopi::Commit#parents@:Octopi::Issue#title@ :Octopi::User#plan@O:"Octopi::User#followers_count=@[:Octopi::RepositorySet@:Octopi::IssueSet#find@ :#Octopi::RetryableAPIError#code@:"Octopi::IssueComment#comment=@ :Octopi::Tag@O:Octopi::Plan#name=@P : Octopi::Base.gather_details@@:Octopi::Api#read_only=@:Octopi::User#created_at@:Octopi::User#name=@:Octopi::APIError@:Octopi::Api.authenticated@U: Octopi::IssueComment#status@2 :,Octopi::Resource::ClassMethods#find_all@q:Octopi::Plan#collaborators@} :Octopi::Commit@:Octopi::FileObject#mode=@:Octopi::Comment#id=@I:!Octopi::User#following_count@:"Octopi::Repository.open_issue@m:Octopi::Branch#name@:Octopi::Commit#added=@:Octopi::FormatError@;/T{ " Array;."StandardError;."Singleton: module"RuntimeError;." Resource;["Exception;." HTTParty;[" Object;.