quickbooks 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. data/README +18 -28
  2. data/Rakefile +17 -30
  3. data/doc/classes/{QuickBooks/Models/DataExt.html → Class.html} +151 -140
  4. data/doc/classes/Class.src/M000003.html +18 -0
  5. data/doc/classes/Hash.html +164 -0
  6. data/doc/classes/Hash.src/M000001.html +20 -0
  7. data/doc/classes/Hash.src/M000002.html +23 -0
  8. data/doc/classes/{QuickBooks/Models/Transaction.html → Object.html} +207 -201
  9. data/doc/classes/Object.src/M000004.html +24 -0
  10. data/doc/classes/Object.src/M000005.html +18 -0
  11. data/doc/classes/Object.src/M000006.html +19 -0
  12. data/doc/classes/Object.src/M000007.html +18 -0
  13. data/doc/classes/{QuickBooks.html → QBHelpers.html} +118 -119
  14. data/doc/classes/QBHelpers/Ole.html +209 -0
  15. data/doc/classes/QBHelpers/Ole.src/M000066.html +21 -0
  16. data/doc/classes/QBHelpers/Ole.src/M000067.html +22 -0
  17. data/doc/classes/QBHelpers/Ole.src/M000068.html +18 -0
  18. data/doc/classes/Quickbooks.html +136 -0
  19. data/doc/classes/Quickbooks/Base.html +618 -0
  20. data/doc/classes/Quickbooks/Base.src/M000034.html +18 -0
  21. data/doc/classes/Quickbooks/Base.src/M000035.html +18 -0
  22. data/doc/classes/Quickbooks/Base.src/M000036.html +18 -0
  23. data/doc/classes/Quickbooks/Base.src/M000037.html +19 -0
  24. data/doc/classes/Quickbooks/Base.src/M000038.html +19 -0
  25. data/doc/classes/Quickbooks/Base.src/M000039.html +25 -0
  26. data/doc/classes/Quickbooks/Base.src/M000040.html +27 -0
  27. data/doc/classes/Quickbooks/Base.src/M000041.html +22 -0
  28. data/doc/classes/Quickbooks/Base.src/M000042.html +30 -0
  29. data/doc/classes/Quickbooks/Base.src/M000043.html +18 -0
  30. data/doc/classes/Quickbooks/Base.src/M000044.html +19 -0
  31. data/doc/classes/Quickbooks/Base.src/M000045.html +18 -0
  32. data/doc/classes/Quickbooks/Base.src/M000046.html +19 -0
  33. data/doc/classes/Quickbooks/Base.src/M000047.html +22 -0
  34. data/doc/classes/Quickbooks/Base.src/M000048.html +23 -0
  35. data/doc/classes/Quickbooks/Base.src/M000049.html +18 -0
  36. data/doc/classes/Quickbooks/Base.src/M000050.html +21 -0
  37. data/doc/classes/Quickbooks/Base.src/M000051.html +25 -0
  38. data/doc/classes/Quickbooks/Base.src/M000052.html +18 -0
  39. data/doc/classes/Quickbooks/Base.src/M000053.html +36 -0
  40. data/doc/classes/Quickbooks/Base.src/M000054.html +18 -0
  41. data/doc/classes/Quickbooks/Base.src/M000055.html +18 -0
  42. data/doc/classes/Quickbooks/Connection.html +369 -0
  43. data/doc/classes/{QuickBooks/Models/Customer.src/M000002.html → Quickbooks/Connection.src/M000056.html} +17 -17
  44. data/doc/classes/Quickbooks/Connection.src/M000057.html +19 -0
  45. data/doc/classes/Quickbooks/Connection.src/M000058.html +25 -0
  46. data/doc/classes/{QuickBooks/Connection.src/M000018.html → Quickbooks/Connection.src/M000059.html} +17 -17
  47. data/doc/classes/Quickbooks/Connection.src/M000060.html +18 -0
  48. data/doc/classes/Quickbooks/Connection.src/M000061.html +21 -0
  49. data/doc/classes/Quickbooks/Connection.src/M000062.html +24 -0
  50. data/doc/classes/{QuickBooks/Connection.src/M000016.html → Quickbooks/Connection.src/M000063.html} +19 -20
  51. data/doc/classes/{QuickBooks/Connection.src/M000019.html → Quickbooks/Connection.src/M000064.html} +23 -21
  52. data/doc/classes/Quickbooks/Connection.src/M000065.html +24 -0
  53. data/doc/classes/{QuickBooks/Models.html → Quickbooks/Customer.html} +112 -120
  54. data/doc/classes/{QuickBooks/Models/CreditCardInfo.html → Quickbooks/ListItem.html} +176 -148
  55. data/doc/classes/Quickbooks/ListItem.src/M000033.html +31 -0
  56. data/doc/classes/Quickbooks/Qbxml.html +138 -0
  57. data/doc/classes/{QuickBooks/Models/ListItem.html → Quickbooks/Qbxml/Error.html} +167 -173
  58. data/doc/classes/{QuickBooks/Models/Base.src/M000011.html → Quickbooks/Qbxml/Error.src/M000031.html} +17 -17
  59. data/doc/classes/Quickbooks/Qbxml/Request.html +182 -0
  60. data/doc/classes/Quickbooks/Qbxml/Request.src/M000024.html +23 -0
  61. data/doc/classes/Quickbooks/Qbxml/Request.src/M000025.html +19 -0
  62. data/doc/classes/Quickbooks/Qbxml/Request.src/M000026.html +57 -0
  63. data/doc/classes/Quickbooks/Qbxml/RequestSet.html +193 -0
  64. data/doc/classes/Quickbooks/Qbxml/RequestSet.src/M000027.html +22 -0
  65. data/doc/classes/Quickbooks/Qbxml/RequestSet.src/M000028.html +26 -0
  66. data/doc/classes/{QuickBooks/Models/Base.src/M000014.html → Quickbooks/Qbxml/RequestSet.src/M000029.html} +17 -16
  67. data/doc/classes/Quickbooks/Qbxml/RequestSet.src/M000030.html +22 -0
  68. data/doc/classes/Quickbooks/Qbxml/RequestSetArrayExt.html +105 -0
  69. data/doc/classes/{QuickBooks/Connection.html → Quickbooks/Qbxml/Response.html} +301 -278
  70. data/doc/classes/Quickbooks/Qbxml/Response.src/M000015.html +24 -0
  71. data/doc/classes/Quickbooks/Qbxml/Response.src/M000016.html +19 -0
  72. data/doc/classes/Quickbooks/Qbxml/Response.src/M000017.html +45 -0
  73. data/doc/classes/Quickbooks/Qbxml/Response.src/M000018.html +18 -0
  74. data/doc/classes/Quickbooks/Qbxml/Response.src/M000019.html +18 -0
  75. data/doc/classes/Quickbooks/Qbxml/Response.src/M000020.html +18 -0
  76. data/doc/classes/{QuickBooks/Models/Base.src/M000013.html → Quickbooks/Qbxml/Response.src/M000021.html} +17 -16
  77. data/doc/classes/{QuickBooks/Models/ListItem.src/M000009.html → Quickbooks/Qbxml/Response.src/M000022.html} +17 -16
  78. data/doc/classes/Quickbooks/Qbxml/Response.src/M000023.html +52 -0
  79. data/doc/classes/{QuickBooks/Models/Base.html → Quickbooks/Qbxml/ResponseSet.html} +237 -213
  80. data/doc/classes/Quickbooks/Qbxml/ResponseSet.src/M000008.html +22 -0
  81. data/doc/classes/Quickbooks/Qbxml/ResponseSet.src/M000009.html +26 -0
  82. data/doc/classes/Quickbooks/Qbxml/ResponseSet.src/M000010.html +24 -0
  83. data/doc/classes/{QuickBooks/Models/Base.src/M000012.html → Quickbooks/Qbxml/ResponseSet.src/M000011.html} +17 -17
  84. data/doc/classes/Quickbooks/Qbxml/ResponseSet.src/M000012.html +27 -0
  85. data/doc/classes/Quickbooks/Qbxml/ResponseSet.src/M000013.html +18 -0
  86. data/doc/classes/Quickbooks/Qbxml/ResponseSet.src/M000014.html +18 -0
  87. data/doc/classes/Quickbooks/Qbxml/ResponseSetArrayExt.html +105 -0
  88. data/doc/classes/{QuickBooks/Models/Address.html → Quickbooks/Transaction.html} +194 -158
  89. data/doc/classes/Quickbooks/Transaction.src/M000032.html +26 -0
  90. data/doc/created.rid +1 -1
  91. data/doc/files/LICENSE.html +128 -128
  92. data/doc/files/README.html +185 -173
  93. data/doc/files/lib/quickbooks/base_rb.html +317 -0
  94. data/doc/files/lib/quickbooks/connection_rb.html +108 -108
  95. data/doc/files/lib/quickbooks/models/{base_rb.html → customer_rb.html} +100 -100
  96. data/doc/files/lib/quickbooks/models/list_item_rb.html +101 -0
  97. data/doc/files/lib/quickbooks/models/transaction_rb.html +101 -0
  98. data/doc/files/lib/quickbooks/ole_helper_rb.html +109 -0
  99. data/doc/files/lib/quickbooks/qbxml/error_rb.html +101 -0
  100. data/doc/files/lib/quickbooks/{models/models_rb.html → qbxml/request_rb.html} +108 -107
  101. data/doc/files/lib/quickbooks/qbxml/response_rb.html +109 -0
  102. data/doc/files/lib/quickbooks/ruby_magic_rb.html +111 -0
  103. data/doc/files/lib/quickbooks_rb.html +112 -108
  104. data/doc/fr_class_index.html +44 -35
  105. data/doc/fr_file_index.html +38 -31
  106. data/doc/fr_method_index.html +93 -44
  107. data/doc/index.html +23 -23
  108. data/doc/rdoc-style.css +207 -207
  109. data/lib/quickbooks.rb +6 -1
  110. data/lib/quickbooks/base.rb +282 -0
  111. data/lib/quickbooks/connection.rb +91 -57
  112. data/lib/quickbooks/models/customer.rb +71 -0
  113. data/lib/quickbooks/models/list_item.rb +22 -0
  114. data/lib/quickbooks/models/transaction.rb +40 -0
  115. data/lib/quickbooks/ole_helper.rb +47 -0
  116. data/lib/quickbooks/qbxml/error.rb +20 -0
  117. data/lib/quickbooks/qbxml/request.rb +120 -0
  118. data/lib/quickbooks/qbxml/response.rb +176 -0
  119. data/lib/quickbooks/ruby_magic.rb +67 -0
  120. metadata +173 -84
  121. data/doc/classes/QuickBooks/Connection.src/M000015.html +0 -25
  122. data/doc/classes/QuickBooks/Connection.src/M000017.html +0 -20
  123. data/doc/classes/QuickBooks/Models/Base.src/M000010.html +0 -19
  124. data/doc/classes/QuickBooks/Models/Customer.html +0 -424
  125. data/doc/classes/QuickBooks/Models/Customer.src/M000001.html +0 -34
  126. data/doc/classes/QuickBooks/Models/Customer.src/M000003.html +0 -18
  127. data/doc/classes/QuickBooks/Models/ListItem.src/M000008.html +0 -17
  128. data/doc/classes/QuickBooks/Models/Transaction.src/M000004.html +0 -17
  129. data/doc/classes/QuickBooks/Models/Transaction.src/M000005.html +0 -17
  130. data/doc/classes/QuickBooks/Models/Transaction.src/M000006.html +0 -17
  131. data/doc/classes/QuickBooks/Models/Transaction.src/M000007.html +0 -17
  132. data/lib/quickbooks/models/base.rb +0 -72
  133. data/lib/quickbooks/models/models.rb +0 -43
  134. data/test/quickbooks/quickbooks_test.rb +0 -34
  135. data/test/test_helper.rb +0 -4
data/README CHANGED
@@ -1,10 +1,10 @@
1
1
  == Welcome to QuickBooks for Ruby
2
2
 
3
- QuickBooks is a module that allows you to connect to QuickBooks and QuickBooks Merchant
4
- Services via the QuickBooks SDK (QBXML). You need to configure the QuickBooks Remote Data
5
- Sharing Server (RDS) in order to connect. The RDS server allows you to use the SDK over
6
- https webservice. This means that you can communicate with QuickBooks from non-Windows
7
- operating systems.
3
+ The purpose of this gem is to perform connectivity and communication with Quickbooks, providing the user with access to quickbooks data as everyday ruby objects. This could be understood to be somewhat like an ORM, but it is different in that its models are predefined by the Quickbooks API.
4
+
5
+ In releases prior to 1.0, some knowledge of the Quickbooks API will be required. In releases beyond 1.0, the Quickbooks API should be fully hidden from your view.
6
+
7
+ Enjoy and PLEASE contribute either by suggestion or by submitting patches, etc. Or if development seems slow, please feel free to join! My work on this project has been solely for my own use of the gem, while opening up its achievements for others to use as well. Development may slow down considerably when I find it is at a stable and usable point for my needs. You've been warned! ;)
8
8
 
9
9
  == Download
10
10
 
@@ -13,38 +13,28 @@ operating systems.
13
13
 
14
14
  == Status
15
15
 
16
- This library is a work in progress and has very limited capabilities right now. There is
17
- a Connection class that will let you connect to QuickBooks and send QBXML directly. I am in
18
- the process of implementing all the messages that you can send and recieve in an easy to
19
- use class structure.
16
+ This library is a work in progress and has limited capabilities right now. As of version 0.0.3, the Customer model is the only one proven
17
+ to be in working condition, and that even with some bugs. It is stable in the capabilities that are defined, but there are some points
18
+ where the usability needs improvement. I have attempted to make the Quickbooks family of models to work much like DataMapper models, with their finder methods and such.
20
19
 
21
20
  == Usage
22
21
 
23
- You can use the QuickBooks::Connection class to talk to the RDS server:
24
-
25
- connection = QuickBooks::Connection.new('admin', 'pass123', 'My Test App')
26
- connection.open
27
- xml = <<EOL
28
- <?xml version="1.0"?>
29
- <?qbxml version="3.0"?>
30
- <QBXML>
31
- <QBXMLMsgsRq onError="continueOnError">
32
- <InvoiceQueryRq requestID="1">
33
- <RefNumber>81</RefNumber>
34
- <IncludeLineItems>true</IncludeLineItems>
35
- </InvoiceQueryRq>
36
- </QBXMLMsgsRq>
37
- </QBXML>
38
- EOL
39
- connection.send(xml)
40
- connection.close
22
+ Simply include this gem in your project:
23
+ require 'rubygems'
24
+ gem 'quickbooks'
25
+
26
+ Without any configuration, you should be able to talk to Quickbooks immediately if it and a company file is open on the same computer:
27
+ c = Quickbooks::Customer.first
28
+ c.phone = '(123) 456-7890'
29
+ c.save
41
30
 
42
31
  == Authors
43
32
 
44
33
  * Chris Bruce (mailto:chrisabruce@yahoo.com)
34
+ * Daniel Parker (mailto:gems@behindlogic.com)
45
35
 
46
36
  This library is released under the terms of the MIT License.
47
37
 
48
38
  == Changes
49
39
 
50
- I renamed QuickBooks::Session to QuickBooks::Connection as it seems more intuitive.
40
+ * Initial import of a new rewrite at version 0.0.3
data/Rakefile CHANGED
@@ -5,22 +5,18 @@ require 'rake/rdoctask'
5
5
  require 'rake/gempackagetask'
6
6
  require 'rake/contrib/rubyforgepublisher'
7
7
 
8
- PKG_VERSION = "0.0.2"
8
+ PKG_NAME = 'quickbooks'
9
+ PKG_VERSION = "0.0.3"
9
10
 
10
11
  PKG_FILES = FileList[
11
- "lib/**/*", "test/**/*", "[A-Z]*", "Rakefile", "doc/**/*"
12
+ "lib/**/*", "rspec/**/*", "[A-Z]*", "Rakefile", "doc/**/*"
12
13
  ]
13
14
 
14
15
  desc "Default Task"
15
- task :default => [ :test ]
16
-
17
- # Run the unit tests
18
- desc "Run all unit tests"
19
- Rake::TestTask.new("test") { |t|
20
- t.libs << "lib"
21
- t.pattern = 'test/*/*_test.rb'
22
- t.verbose = true
23
- }
16
+ task :default => [ :test ] do
17
+ # Run the unit tests
18
+ desc "Run all rspec tests (rake task not yet implemented!)"
19
+ end
24
20
 
25
21
  # Make a console, useful when working on tests
26
22
  desc "Generate a test console"
@@ -38,38 +34,30 @@ Rake::RDocTask.new("doc") { |rdoc|
38
34
  rdoc.rdoc_files.include('lib/**/*.rb')
39
35
  }
40
36
 
41
- # Genereate the package
37
+ # Generate the package
42
38
  spec = Gem::Specification.new do |s|
43
-
44
39
  #### Basic information.
45
-
46
- s.name = 'quickbooks'
40
+ s.name = PKG_NAME
47
41
  s.version = PKG_VERSION
48
- s.summary = <<-EOF
49
- A module to connect to QuickBooks through the QuickBooks SDK.
50
- EOF
51
- s.description = <<-EOF
52
- A module to connect to QuickBooks and QuickBooks Merchant Services through the QuickBooks SDK.
53
- EOF
42
+ s.platform = Gem::Platform::RUBY
43
+ s.description = s.summary = "A module to connect to QuickBooks through the QuickBooks SDK using WIN32OLE (other connection types to come)."
54
44
 
55
45
  #### Which files are to be included in this gem? Everything! (Except CVS directories.)
56
-
57
46
  s.files = PKG_FILES
58
47
 
59
48
  #### Load-time details: library and application (you will need one or both).
60
-
61
49
  s.require_path = 'lib'
62
50
  s.autorequire = 'quickbooks'
63
51
 
64
52
  #### Documentation and testing.
65
-
66
53
  s.has_rdoc = true
54
+ s.extra_rdoc_files = ["README", "LICENSE"]
67
55
 
68
56
  #### Author and project details.
69
-
70
- s.author = "Chris Bruce"
71
- s.email = "chrisabruce@yahoo.com"
57
+ s.author = "Chris Bruce & Daniel Parker"
58
+ s.email = "gems@behindlogic.com"
72
59
  s.homepage = "http://quickbooks.rubyforge.org"
60
+ s.rubyforge_project = 'quickbooks'
73
61
  end
74
62
 
75
63
  Rake::GemPackageTask.new(spec) do |pkg|
@@ -81,12 +69,11 @@ desc "Report code statistics (KLOCs, etc) from the application"
81
69
  task :stats do
82
70
  require 'code_statistics'
83
71
  CodeStatistics.new(
84
- ["Library", "lib"],
85
- ["Units", "test"]
72
+ ["Library", "lib"]
86
73
  ).to_s
87
74
  end
88
75
 
89
76
  desc "Publish new documentation"
90
77
  task :publish => [:doc] do
91
- `pscp -r doc/* rubyforge:/var/www/gforge-projects/quickbooks/`
78
+ `scp -r doc/* dcparker@rubyforge.org:/var/www/gforge-projects/quickbooks`
92
79
  end
@@ -1,141 +1,152 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Class: QuickBooks::Models::DataExt</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Class</strong></td>
53
- <td class="class-name-in-header">QuickBooks::Models::DataExt</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../../files/lib/quickbooks/models/base_rb.html">
59
- lib/quickbooks/models/base.rb
60
- </a>
61
- <br />
62
- </td>
63
- </tr>
64
-
65
- <tr class="top-aligned-row">
66
- <td><strong>Parent:</strong></td>
67
- <td>
68
- <a href="Base.html">
69
- Base
70
- </a>
71
- </td>
72
- </tr>
73
- </table>
74
- </div>
75
- <!-- banner header -->
76
-
77
- <div id="bodyContent">
78
-
79
-
80
-
81
- <div id="contextContent">
82
-
83
-
84
-
85
- </div>
86
-
87
-
88
- </div>
89
-
90
-
91
- <!-- if includes -->
92
-
93
- <div id="section">
94
-
95
-
96
-
97
-
98
-
99
- <div id="attribute-list">
100
- <h3 class="section-bar">Attributes</h3>
101
-
102
- <div class="name-list">
103
- <table>
104
- <tr class="top-aligned-row context-row">
105
- <td class="context-item-name">data_ext_name</td>
106
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
107
- <td class="context-item-desc"></td>
108
- </tr>
109
- <tr class="top-aligned-row context-row">
110
- <td class="context-item-name">data_ext_type</td>
111
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
112
- <td class="context-item-desc"></td>
113
- </tr>
114
- <tr class="top-aligned-row context-row">
115
- <td class="context-item-name">data_ext_value</td>
116
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
117
- <td class="context-item-desc"></td>
118
- </tr>
119
- <tr class="top-aligned-row context-row">
120
- <td class="context-item-name">owner_id</td>
121
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
122
- <td class="context-item-desc"></td>
123
- </tr>
124
- </table>
125
- </div>
126
- </div>
127
-
128
-
129
-
130
- <!-- if method_list -->
131
-
132
-
133
- </div>
134
-
135
-
136
- <div id="validator-badges">
137
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
138
- </div>
139
-
140
- </body>
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: Class</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">Class</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../files/lib/quickbooks/ruby_magic_rb.html">
59
+ lib/quickbooks/ruby_magic.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ <a href="Object.html">
69
+ Object
70
+ </a>
71
+ </td>
72
+ </tr>
73
+ </table>
74
+ </div>
75
+ <!-- banner header -->
76
+
77
+ <div id="bodyContent">
78
+
79
+
80
+
81
+ <div id="contextContent">
82
+
83
+
84
+
85
+ </div>
86
+
87
+ <div id="method-list">
88
+ <h3 class="section-bar">Methods</h3>
89
+
90
+ <div class="name-list">
91
+ <a href="#M000003">class_leaf_name</a>&nbsp;&nbsp;
92
+ </div>
93
+ </div>
94
+
95
+ </div>
96
+
97
+
98
+ <!-- if includes -->
99
+
100
+ <div id="section">
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+ <!-- if method_list -->
110
+ <div id="methods">
111
+ <h3 class="section-bar">Public Instance methods</h3>
112
+
113
+ <div id="method-M000003" class="method-detail">
114
+ <a name="M000003"></a>
115
+
116
+ <div class="method-heading">
117
+ <a href="Class.src/M000003.html" target="Code" class="method-signature"
118
+ onclick="popupCode('Class.src/M000003.html');return false;">
119
+ <span class="method-name">class_leaf_name</span><span class="method-args">()</span>
120
+ </a>
121
+ </div>
122
+
123
+ <div class="method-description">
124
+ <p>
125
+ Returns the class name without the module names that precede it. I&#8216;m
126
+ sure there&#8216;s a builtin way to do this, but I couldn&#8216;t find it
127
+ and this works just as reliably! Examples:
128
+ </p>
129
+ <ul>
130
+ <li>Quickbooks::Qbxml::Request.class_leaf_name # =&gt; &#8216;Request&#8216;
131
+
132
+ </li>
133
+ <li>Quickbooks::Customer.class_leaf_name # =&gt; &#8216;Customer&#8216;
134
+
135
+ </li>
136
+ </ul>
137
+ </div>
138
+ </div>
139
+
140
+
141
+ </div>
142
+
143
+
144
+ </div>
145
+
146
+
147
+ <div id="validator-badges">
148
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
149
+ </div>
150
+
151
+ </body>
141
152
  </html>