1 <?xml version=
"1.0" encoding=
"iso-8859-1"?>
3 PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
4 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
8 <title>new (Git::Object)
</title>
9 <meta http-equiv=
"Content-Type" content=
"text/html; charset=iso-8859-1" />
10 <link rel=
"stylesheet" href=
"../../.././rdoc-style.css" type=
"text/css" media=
"screen" />
12 <body class=
"standalone-code">
13 <pre><span class=
"ruby-comment cmt"># File lib/git/object.rb, line
87</span>
14 <span class=
"ruby-keyword kw">def
</span> <span class=
"ruby-identifier">new
</span>(
<span class=
"ruby-identifier">base
</span>,
<span class=
"ruby-identifier">objectish
</span>,
<span class=
"ruby-identifier">is_tag
</span> =
<span class=
"ruby-keyword kw">false
</span>)
15 <span class=
"ruby-keyword kw">if
</span> <span class=
"ruby-identifier">is_tag
</span>
16 <span class=
"ruby-identifier">sha
</span> =
<span class=
"ruby-identifier">base
</span>.
<span class=
"ruby-identifier">lib
</span>.
<span class=
"ruby-identifier">tag_sha
</span>(
<span class=
"ruby-identifier">objectish
</span>)
17 <span class=
"ruby-keyword kw">if
</span> <span class=
"ruby-identifier">sha
</span> <span class=
"ruby-operator">==
</span> <span class=
"ruby-value str">''
</span>
18 <span class=
"ruby-identifier">raise
</span> <span class=
"ruby-constant">Git
</span><span class=
"ruby-operator">::
</span><span class=
"ruby-constant">GitTagNameDoesNotExist
</span>.
<span class=
"ruby-identifier">new
</span>(
<span class=
"ruby-identifier">objectish
</span>)
19 <span class=
"ruby-keyword kw">end
</span>
20 <span class=
"ruby-keyword kw">return
</span> <span class=
"ruby-constant">Tag
</span>.
<span class=
"ruby-identifier">new
</span>(
<span class=
"ruby-identifier">base
</span>,
<span class=
"ruby-identifier">sha
</span>,
<span class=
"ruby-identifier">objectish
</span>)
21 <span class=
"ruby-keyword kw">else
</span>
22 <span class=
"ruby-identifier">sha
</span> =
<span class=
"ruby-identifier">base
</span>.
<span class=
"ruby-identifier">lib
</span>.
<span class=
"ruby-identifier">revparse
</span>(
<span class=
"ruby-identifier">objectish
</span>)
23 <span class=
"ruby-identifier">type
</span> =
<span class=
"ruby-identifier">base
</span>.
<span class=
"ruby-identifier">lib
</span>.
<span class=
"ruby-identifier">object_type
</span>(
<span class=
"ruby-identifier">sha
</span>)
24 <span class=
"ruby-keyword kw">end
</span>
26 <span class=
"ruby-identifier">klass
</span> =
27 <span class=
"ruby-keyword kw">case
</span> <span class=
"ruby-identifier">type
</span>
28 <span class=
"ruby-keyword kw">when
</span> <span class=
"ruby-regexp re">/blob/
</span><span class=
"ruby-operator">:
</span> <span class=
"ruby-constant">Blob
</span>
29 <span class=
"ruby-keyword kw">when
</span> <span class=
"ruby-regexp re">/commit/
</span><span class=
"ruby-operator">:
</span> <span class=
"ruby-constant">Commit
</span>
30 <span class=
"ruby-keyword kw">when
</span> <span class=
"ruby-regexp re">/tree/
</span><span class=
"ruby-operator">:
</span> <span class=
"ruby-constant">Tree
</span>
31 <span class=
"ruby-keyword kw">end
</span>
32 <span class=
"ruby-identifier">klass
</span><span class=
"ruby-operator">::
</span><span class=
"ruby-identifier">new
</span>(
<span class=
"ruby-identifier">base
</span>,
<span class=
"ruby-identifier">sha
</span>)
33 <span class=
"ruby-keyword kw">end
</span></pre>