lims-core 3.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (177) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +5 -0
  3. data/.rspec +1 -0
  4. data/.rvmrc +2 -0
  5. data/.travis.yml +2 -0
  6. data/.vimrc +27 -0
  7. data/.yard_templates/default/layout/html/footer.erb +0 -0
  8. data/.yardopts +1 -0
  9. data/Gemfile +54 -0
  10. data/Gemfile.lock +197 -0
  11. data/Guardfile +21 -0
  12. data/Guardfile.tmux +28 -0
  13. data/README.markdown +67 -0
  14. data/Rakefile +16 -0
  15. data/config/database.yml +16 -0
  16. data/doc/Array.html +116 -0
  17. data/doc/Array/ArrayLoggerPersistor.html +152 -0
  18. data/doc/Lims.html +114 -0
  19. data/doc/Lims/Core.html +178 -0
  20. data/doc/Lims/Core/Action.html +91 -0
  21. data/doc/Lims/Core/Actions.html +116 -0
  22. data/doc/Lims/Core/Actions/Action.html +216 -0
  23. data/doc/Lims/Core/Actions/Action/AfterEval.html +853 -0
  24. data/doc/Lims/Core/Actions/Action/InvalidParameters.html +268 -0
  25. data/doc/Lims/Core/Actions/ActionGroup.html +196 -0
  26. data/doc/Lims/Core/Actions/ActionGroup/AfterEval.html +315 -0
  27. data/doc/Lims/Core/Actions/BulkAction.html +224 -0
  28. data/doc/Lims/Core/Actions/BulkAction/AfterEval.html +253 -0
  29. data/doc/Lims/Core/Actions/TestActionGroup.html +101 -0
  30. data/doc/Lims/Core/Actions/TestActionGroup/Action.html +133 -0
  31. data/doc/Lims/Core/Actions/TestActionGroup/ActionGroup.html +127 -0
  32. data/doc/Lims/Core/Base.html +287 -0
  33. data/doc/Lims/Core/Base/AccessibleViaSuper.html +252 -0
  34. data/doc/Lims/Core/Base/ClassMethod.html +177 -0
  35. data/doc/Lims/Core/Base/HashString.html +177 -0
  36. data/doc/Lims/Core/Base/IsArrayOf.html +606 -0
  37. data/doc/Lims/Core/Base/State.html +130 -0
  38. data/doc/Lims/Core/Organization.html +113 -0
  39. data/doc/Lims/Core/Organization/Batch.html +106 -0
  40. data/doc/Lims/Core/Persistence.html +267 -0
  41. data/doc/Lims/Core/Persistence/ComparisonFilter.html +318 -0
  42. data/doc/Lims/Core/Persistence/Filter.html +252 -0
  43. data/doc/Lims/Core/Persistence/IdentityMap.html +409 -0
  44. data/doc/Lims/Core/Persistence/IdentityMap/Class.html +144 -0
  45. data/doc/Lims/Core/Persistence/IdentityMap/DuplicateError.html +126 -0
  46. data/doc/Lims/Core/Persistence/IdentityMap/DuplicateIdError.html +136 -0
  47. data/doc/Lims/Core/Persistence/IdentityMap/DuplicateObjectError.html +136 -0
  48. data/doc/Lims/Core/Persistence/IdentityMapClass.html +133 -0
  49. data/doc/Lims/Core/Persistence/Logger.html +105 -0
  50. data/doc/Lims/Core/Persistence/Logger/Persistor.html +334 -0
  51. data/doc/Lims/Core/Persistence/Logger/Session.html +452 -0
  52. data/doc/Lims/Core/Persistence/Logger/Store.html +470 -0
  53. data/doc/Lims/Core/Persistence/MessageBus.html +871 -0
  54. data/doc/Lims/Core/Persistence/MessageBus/ConnectionError.html +123 -0
  55. data/doc/Lims/Core/Persistence/MessageBus/InvalidSettingsError.html +122 -0
  56. data/doc/Lims/Core/Persistence/MultiCriteriaFilter.html +293 -0
  57. data/doc/Lims/Core/Persistence/PersistAssociationTrait.html +91 -0
  58. data/doc/Lims/Core/Persistence/PersistableTrait.html +91 -0
  59. data/doc/Lims/Core/Persistence/Persistor.html +3072 -0
  60. data/doc/Lims/Core/Persistence/Persistor/DuplicateError.html +205 -0
  61. data/doc/Lims/Core/Persistence/Persistor/DuplicateIdError.html +147 -0
  62. data/doc/Lims/Core/Persistence/Persistor/DuplicateObjectError.html +147 -0
  63. data/doc/Lims/Core/Persistence/PersistorTrait.html +91 -0
  64. data/doc/Lims/Core/Persistence/ResourceState.html +1738 -0
  65. data/doc/Lims/Core/Persistence/Search.html +269 -0
  66. data/doc/Lims/Core/Persistence/Search/CreateSearch.html +251 -0
  67. data/doc/Lims/Core/Persistence/Search/SearchPersistor.html +240 -0
  68. data/doc/Lims/Core/Persistence/Search/SearchSequelPersistor.html +396 -0
  69. data/doc/Lims/Core/Persistence/Sequel.html +117 -0
  70. data/doc/Lims/Core/Persistence/Sequel/Filters.html +462 -0
  71. data/doc/Lims/Core/Persistence/Sequel/ForTest.html +101 -0
  72. data/doc/Lims/Core/Persistence/Sequel/ForTest/Name.html +137 -0
  73. data/doc/Lims/Core/Persistence/Sequel/ForTest/Name/NamePersitor.html +143 -0
  74. data/doc/Lims/Core/Persistence/Sequel/Migrations.html +266 -0
  75. data/doc/Lims/Core/Persistence/Sequel/Persistor.html +665 -0
  76. data/doc/Lims/Core/Persistence/Sequel/Session.html +501 -0
  77. data/doc/Lims/Core/Persistence/Sequel/Store.html +417 -0
  78. data/doc/Lims/Core/Persistence/Session.html +2751 -0
  79. data/doc/Lims/Core/Persistence/Session/UnmanagedObjectError.html +111 -0
  80. data/doc/Lims/Core/Persistence/StateGroup.html +696 -0
  81. data/doc/Lims/Core/Persistence/StateList.html +498 -0
  82. data/doc/Lims/Core/Persistence/Store.html +695 -0
  83. data/doc/Lims/Core/Persistence/UuidResource.html +1044 -0
  84. data/doc/Lims/Core/Persistence/UuidResource/InvalidUuidError.html +111 -0
  85. data/doc/Lims/Core/Persistence/UuidResource/UuidResourcePersistor.html +337 -0
  86. data/doc/Lims/Core/Persistence/Uuidable.html +799 -0
  87. data/doc/Lims/Core/Persistor.html +320 -0
  88. data/doc/Lims/Core/Resource.html +165 -0
  89. data/doc/Object.html +228 -0
  90. data/doc/SessionSpec.html +101 -0
  91. data/doc/SessionSpec/Model.html +279 -0
  92. data/doc/SessionSpec/Model/ModelPersistor.html +327 -0
  93. data/doc/_index.html +732 -0
  94. data/doc/class_list.html +47 -0
  95. data/doc/css/common.css +1 -0
  96. data/doc/css/full_list.css +55 -0
  97. data/doc/css/style.css +322 -0
  98. data/doc/file.README.html +127 -0
  99. data/doc/file_list.html +49 -0
  100. data/doc/frames.html +13 -0
  101. data/doc/index.html +127 -0
  102. data/doc/js/app.js +205 -0
  103. data/doc/js/full_list.js +167 -0
  104. data/doc/js/jquery.js +16 -0
  105. data/doc/method_list.html +1894 -0
  106. data/doc/top-level-namespace.html +100 -0
  107. data/lib/common.rb +18 -0
  108. data/lib/lims-core.rb +29 -0
  109. data/lib/lims-core/actions.rb +10 -0
  110. data/lib/lims-core/actions/action.rb +185 -0
  111. data/lib/lims-core/actions/action_group.rb +54 -0
  112. data/lib/lims-core/actions/bulk_action.rb +65 -0
  113. data/lib/lims-core/base.rb +132 -0
  114. data/lib/lims-core/helpers.rb +41 -0
  115. data/lib/lims-core/persistence.rb +15 -0
  116. data/lib/lims-core/persistence/comparison_filter.rb +54 -0
  117. data/lib/lims-core/persistence/filter.rb +23 -0
  118. data/lib/lims-core/persistence/identity_map.rb +55 -0
  119. data/lib/lims-core/persistence/logger/all.rb +5 -0
  120. data/lib/lims-core/persistence/logger/persistor.rb +35 -0
  121. data/lib/lims-core/persistence/logger/session.rb +30 -0
  122. data/lib/lims-core/persistence/logger/store.rb +37 -0
  123. data/lib/lims-core/persistence/message_bus.rb +131 -0
  124. data/lib/lims-core/persistence/multi_criteria_filter.rb +50 -0
  125. data/lib/lims-core/persistence/persist_association_trait.rb +96 -0
  126. data/lib/lims-core/persistence/persistable_trait.rb +150 -0
  127. data/lib/lims-core/persistence/persistor.rb +495 -0
  128. data/lib/lims-core/persistence/resource_state.rb +157 -0
  129. data/lib/lims-core/persistence/search.rb +3 -0
  130. data/lib/lims-core/persistence/search/all.rb +3 -0
  131. data/lib/lims-core/persistence/search/create_search.rb +55 -0
  132. data/lib/lims-core/persistence/search/search_persistor.rb +45 -0
  133. data/lib/lims-core/persistence/search/search_sequel_persistor.rb +40 -0
  134. data/lib/lims-core/persistence/sequel.rb +14 -0
  135. data/lib/lims-core/persistence/sequel/filters.rb +106 -0
  136. data/lib/lims-core/persistence/sequel/migrations.rb +14 -0
  137. data/lib/lims-core/persistence/sequel/migrations/add_audit_tables.rb +147 -0
  138. data/lib/lims-core/persistence/sequel/migrations/initial.rb +156 -0
  139. data/lib/lims-core/persistence/sequel/persistor.rb +200 -0
  140. data/lib/lims-core/persistence/sequel/session.rb +136 -0
  141. data/lib/lims-core/persistence/sequel/store.rb +37 -0
  142. data/lib/lims-core/persistence/session.rb +409 -0
  143. data/lib/lims-core/persistence/state_group.rb +97 -0
  144. data/lib/lims-core/persistence/state_list.rb +56 -0
  145. data/lib/lims-core/persistence/store.rb +73 -0
  146. data/lib/lims-core/persistence/uuid_resource.rb +115 -0
  147. data/lib/lims-core/persistence/uuid_resource_persistor.rb +43 -0
  148. data/lib/lims-core/persistence/uuidable.rb +107 -0
  149. data/lib/lims-core/resource.rb +21 -0
  150. data/lib/lims-core/subclass_tracker.rb +30 -0
  151. data/lib/lims-core/version.rb +5 -0
  152. data/lims-core.gemspec +40 -0
  153. data/makefile +52 -0
  154. data/showoff/core-2012-06-11/core/01_slide.md +237 -0
  155. data/showoff/core-2012-06-11/core/02_slide.md +110 -0
  156. data/showoff/core-2012-06-11/custom.css +44 -0
  157. data/showoff/core-2012-06-11/main/01_slide.md +53 -0
  158. data/showoff/core-2012-06-11/showoff.json +10 -0
  159. data/showoff/core-2012-06-11/tp1.tpl +1 -0
  160. data/spec/actions/action_group_spec.rb +39 -0
  161. data/spec/actions/spec_helper.rb +1 -0
  162. data/spec/persistence/identity_map_spec.rb +55 -0
  163. data/spec/persistence/logger/spec_helper.rb +7 -0
  164. data/spec/persistence/logger/store_spec.rb +48 -0
  165. data/spec/persistence/message_bus_spec.rb +76 -0
  166. data/spec/persistence/sequel/session_spec.rb +125 -0
  167. data/spec/persistence/sequel/spec_helper.rb +39 -0
  168. data/spec/persistence/sequel/store_shared.rb +25 -0
  169. data/spec/persistence/sequel/store_spec.rb +22 -0
  170. data/spec/persistence/session_spec.rb +199 -0
  171. data/spec/persistence/spec_helper.rb +2 -0
  172. data/spec/persistence/uuid_resource_spec.rb +80 -0
  173. data/spec/spec_helper.rb +10 -0
  174. data/spec/subclass_tracker_sperc.rb +62 -0
  175. data/utils/constant_tree.rb +29 -0
  176. data/utils/stack.rb +48 -0
  177. metadata +402 -0
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NmQ4MDBjZjVjMWRiZTkzMmU5MGQyODRjNzZiMTYxMjg1ZjU0ODRiMQ==
5
+ data.tar.gz: !binary |-
6
+ MjFlYjNmOGQ3NThmODI1Mzg2NWQxZGM2MjExZjI1MzE3YzRhYTAxZQ==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ Y2U3NGI0MmYxMDA3OGMxNTI3Y2I2MzJlMGE1YWE4ZmE5Zjg2MmJiNjllYjlm
10
+ NWYwMDM0MjlkOTJkM2M2OTYzYTViOGVhZDA0ZTFkNjk3ZDE3ZjgzZTQyNWI1
11
+ YzkyMDExZjJkOTgxYjJkYzY2MDcxYjhkZDc5NzA4ZmYzMmZlMzI=
12
+ data.tar.gz: !binary |-
13
+ NTE4MzQ5MDMyMzM2NTFkYzg0YmFkNzRlNThjNDZmMjE3MGY1MWQ4NmNkMTg5
14
+ N2I3NTZhMzZjOTQwNWVkNTdlNTc1NTY0MzFhZTZiYTI5MjA4Yzg5ZTNkMDM0
15
+ ZTE1Njg3MmIyMmJmYmRiYjA4MTVhZDVjMzhiZDIxZmFmMjIxNjA=
data/.gitignore ADDED
@@ -0,0 +1,5 @@
1
+ .yardoc
2
+ *.db
3
+ .bundle
4
+ tags
5
+ .DS_Store
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --tag ~@wip
data/.rvmrc ADDED
@@ -0,0 +1,2 @@
1
+ rvm use 1.9.3@lims-core --create
2
+
data/.travis.yml ADDED
@@ -0,0 +1,2 @@
1
+ sudo: false
2
+ install: bundle install --without debugging pry autotest yard showoff
data/.vimrc ADDED
@@ -0,0 +1,27 @@
1
+ iabbr req require 'lims/core/
2
+ iabbr mlims module Lims::Core
3
  module Labware
1
4
  # @todo doc
2
5
  end
6
+ set path=lib/**,spec/**,showoff/core-2012-06-11/**,,*,**,$GEM_HOME/gems
7
+ let g:ruby_path=&path
8
+ set cdpath=lib/lims/core,spec
9
+
10
+ set isk+=?,!
11
+
12
+ set makeprg=rspec
13
+ set errorformat=
14
+ \%-Z\ \ \ \ \ \#\ %f:%l:%.%#,%E\ \ %\\d%\\+)%.%#,%C%m,%Z,
15
+ \%-Z%f:%l:%.%#,%E%\\d%\\+)%.%#,%C%m,%Z,
16
+ \%+W'%.%#'\ FAILED,
17
+ \%+I'%.%#'\ FIXED,
18
+ \%-Cexpected:%.%#,
19
+ \%-C\ \ \ \ \ got:%.%#,
20
+ \%E%.%#:in\ `load':\ %f:%l:%m,
21
+ \%C%f:%l:,
22
+ \%W%f:%l:\ warning:\ %m,
23
+ \%E%f:%l:in\ %*[^:]:\ %m,
24
+ \%E%f:%l:\ %m,
25
+ \%-Z%\tfrom\ %f:%l,
26
+ \%-Z%p^%.%#,
27
+ \%-C%.%#,
28
+ \%-G%.%#
29
+
30
+
File without changes
data/.yardopts ADDED
@@ -0,0 +1 @@
1
+ --private -p .yard_templates lib spec/**/*_spec.rb
data/Gemfile ADDED
@@ -0,0 +1,54 @@
1
+ # vim:ft=ruby:ts=2:et:sw=2:sts=2
2
+ source "http://rubygems.org"
3
+
4
+ # Specify your gem's dependencies in lims-core.gemspec
5
+ gemspec
6
+
7
+ gem 'oj', :platforms => :mri
8
+ gem 'jrjackson', :platforms => :jruby
9
+
10
+ group :debugging do
11
+ gem 'debugger', :platforms => :mri
12
+ gem 'debugger-completion', :platforms => :mri
13
+ gem 'ruby-debug', :platforms => :jruby
14
+ end
15
+
16
+ group :pry do
17
+ gem 'debugger-pry', :require => 'debugger/pry', :platforms => :mri
18
+ end
19
+
20
+ group :autotest do
21
+ gem 'autotest'
22
+ gem 'autotest-growl'
23
+ gem 'autotest-fsevent'
24
+ end
25
+
26
+ group :guard do
27
+ gem "guard", '>= 1.3.0', :platforms => :mri
28
+ gem "guard-rspec", :platforms => :mri
29
+ gem "guard-bundler", :platforms => :mri
30
+ gem "guard-yard", :platforms => :mri
31
+ gem "terminal-notifier-guard", :platforms => :mri
32
+ gem "rb-fsevent", '~> 0.9.1', :platforms => :mri
33
+ end
34
+
35
+ group :development do
36
+ gem 'sqlite3', :platforms => :mri
37
+ gem 'mysql2', :platforms => :mri
38
+ gem 'ruby-prof', :platforms => :mri
39
+ gem 'jdbc-sqlite3', :platforms => :jruby
40
+ gem 'jdbc-mysql', :platforms => :jruby
41
+ end
42
+
43
+
44
+ group :yard do
45
+ gem 'yard', '= 0.7.3', :platforms => :mri
46
+ gem 'yard-rspec', '0.1', :platforms => :mri
47
+ gem 'yard-state_machine', :platforms => :mri
48
+ gem 'redcarpet', :platforms => :mri
49
+ gem 'ruby-graphviz', :platforms => :mri
50
+ end
51
+
52
+ group :showoff do
53
+ gem 'showoff', :platforms => :mri
54
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,197 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ lims-core (3.2.3)
5
+ activesupport
6
+ aequitas
7
+ bunny (= 0.9.0.pre10)
8
+ dm-validations
9
+ facets (= 2.9.3)
10
+ modularity (= 0.6.1)
11
+ sequel
12
+ state_machine
13
+ uuid
14
+ virtus (= 0.2.0)
15
+
16
+ GEM
17
+ remote: http://rubygems.org/
18
+ specs:
19
+ ZenTest (4.11.0)
20
+ activesupport (4.2.4)
21
+ i18n (~> 0.7)
22
+ json (~> 1.7, >= 1.7.7)
23
+ minitest (~> 5.1)
24
+ thread_safe (~> 0.3, >= 0.3.4)
25
+ tzinfo (~> 1.1)
26
+ addressable (2.3.8)
27
+ aequitas (0.0.2)
28
+ amq-protocol (1.9.2)
29
+ autotest (4.4.6)
30
+ ZenTest (>= 4.4.1)
31
+ autotest-fsevent (0.2.8)
32
+ sys-uname
33
+ autotest-growl (0.2.16)
34
+ blankslate (2.1.2.4)
35
+ bluecloth (2.2.0)
36
+ bond (0.4.3)
37
+ bunny (0.9.0.pre10)
38
+ amq-protocol (>= 1.4.0)
39
+ coderay (1.0.9)
40
+ columnize (0.9.0)
41
+ debugger (1.6.8)
42
+ columnize (>= 0.3.1)
43
+ debugger-linecache (~> 1.2.0)
44
+ debugger-ruby_core_source (~> 1.3.5)
45
+ debugger-completion (1.0.0)
46
+ bond (>= 0.4.2)
47
+ debugger (~> 1.1)
48
+ debugger-linecache (1.2.0)
49
+ debugger-pry (0.1.1)
50
+ debugger (~> 1)
51
+ pry (>= 0.9.9)
52
+ debugger-ruby_core_source (1.3.8)
53
+ diff-lcs (1.1.3)
54
+ dm-core (1.2.1)
55
+ addressable (~> 2.3)
56
+ dm-validations (1.2.0)
57
+ dm-core (~> 1.2.0)
58
+ facets (2.9.3)
59
+ ffi (1.9.0)
60
+ ffi (1.9.0-java)
61
+ formatador (0.2.4)
62
+ gli (2.7.0)
63
+ guard (1.8.2)
64
+ formatador (>= 0.2.4)
65
+ listen (>= 1.0.0)
66
+ lumberjack (>= 1.0.2)
67
+ pry (>= 0.9.10)
68
+ thor (>= 0.14.6)
69
+ guard-bundler (1.0.0)
70
+ bundler (~> 1.0)
71
+ guard (~> 1.1)
72
+ guard-rspec (1.2.1)
73
+ guard (>= 1.1)
74
+ guard-yard (2.1.0)
75
+ guard (>= 1.1.0)
76
+ yard (>= 0.7.0)
77
+ i18n (0.7.0)
78
+ jdbc-mysql (5.1.27)
79
+ jdbc-sqlite3 (3.7.2.1)
80
+ jrjackson (0.2.3)
81
+ json (1.8.0)
82
+ listen (1.3.0)
83
+ rb-fsevent (>= 0.9.3)
84
+ rb-inotify (>= 0.9)
85
+ rb-kqueue (>= 0.2)
86
+ lumberjack (1.0.4)
87
+ macaddr (1.6.7)
88
+ systemu (~> 2.6.2)
89
+ method_source (0.8.2)
90
+ mini_portile (0.5.1)
91
+ minitest (5.8.2)
92
+ modularity (0.6.1)
93
+ mysql2 (0.3.13)
94
+ blankslate (~> 2.0)
95
+ nokogiri (1.6.0)
96
+ mini_portile (~> 0.5.0)
97
+ oj (2.1.7)
98
+ parslet (1.5.0)
99
+ pry (0.9.12.2)
100
+ coderay (~> 1.0.5)
101
+ method_source (~> 0.8)
102
+ slop (~> 3.4)
103
+ rack (1.5.2)
104
+ rack-protection (1.5.0)
105
+ rack
106
+ rake (10.1.0)
107
+ rb-fsevent (0.9.3)
108
+ rb-inotify (0.9.1)
109
+ ffi (>= 0.5.0)
110
+ rb-kqueue (0.2.0)
111
+ ffi (>= 0.5.0)
112
+ redcarpet (3.0.0)
113
+ rspec (2.8.0)
114
+ rspec-core (~> 2.8.0)
115
+ rspec-expectations (~> 2.8.0)
116
+ rspec-mocks (~> 2.8.0)
117
+ rspec-core (2.8.0)
118
+ rspec-expectations (2.8.0)
119
+ diff-lcs (~> 1.1.2)
120
+ rspec-mocks (2.8.0)
121
+ ruby-debug (0.10.4)
122
+ columnize (>= 0.1)
123
+ ruby-debug-base (~> 0.10.4.0)
124
+ ruby-debug-base (0.10.4-java)
125
+ ruby-graphviz (1.0.8)
126
+ ruby-prof (0.13.0)
127
+ sequel (4.8.0)
128
+ showoff (0.7.0)
129
+ bluecloth
130
+ gli (>= 1.3.2)
131
+ json
132
+ nokogiri
133
+ parslet
134
+ sinatra
135
+ sinatra (1.4.3)
136
+ rack (~> 1.4)
137
+ rack-protection (~> 1.4)
138
+ tilt (~> 1.3, >= 1.3.4)
139
+ slop (3.4.6)
140
+ sqlite3 (1.3.8)
141
+ state_machine (1.2.0)
142
+ sys-uname (0.9.2)
143
+ ffi (>= 1.0.0)
144
+ systemu (2.6.4)
145
+ terminal-notifier-guard (1.5.3)
146
+ thor (0.18.1)
147
+ thread_safe (0.3.5)
148
+ tilt (1.4.1)
149
+ tzinfo (1.2.2)
150
+ thread_safe (~> 0.1)
151
+ uuid (2.3.7)
152
+ macaddr (~> 1.0)
153
+ virtus (0.2.0)
154
+ yard (0.7.3)
155
+ yard-rspec (0.1)
156
+ yard
157
+ yard-state_machine (0.0.1)
158
+ ruby-graphviz (~> 1.0.0)
159
+ yard (~> 0.7.3)
160
+
161
+ PLATFORMS
162
+ java
163
+ ruby
164
+
165
+ DEPENDENCIES
166
+ autotest
167
+ autotest-fsevent
168
+ autotest-growl
169
+ debugger
170
+ debugger-completion
171
+ debugger-pry
172
+ guard (>= 1.3.0)
173
+ guard-bundler
174
+ guard-rspec
175
+ guard-yard
176
+ jdbc-mysql
177
+ jdbc-sqlite3
178
+ jrjackson
179
+ lims-core!
180
+ mysql2
181
+ oj
182
+ rake
183
+ rb-fsevent (~> 0.9.1)
184
+ redcarpet
185
+ rspec (~> 2)
186
+ ruby-debug
187
+ ruby-graphviz
188
+ ruby-prof
189
+ showoff
190
+ sqlite3
191
+ terminal-notifier-guard
192
+ yard (= 0.7.3)
193
+ yard-rspec (= 0.1)
194
+ yard-state_machine
195
+
196
+ BUNDLED WITH
197
+ 1.10.6
data/Guardfile ADDED
@@ -0,0 +1,21 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ guard 'bundler' do
5
+ watch('Gemfile')
6
+ # Uncomment next line if Gemfile contain `gemspec' command
7
+ # watch(/^.+\.gemspec/)
8
+ end
9
+
10
+ guard 'rspec', :version => 2 do
11
+ watch(%r{^spec/.+_spec\.rb$})
12
+ watch(%r{^lib/[^\/]+\/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
13
+ watch('spec/spec_helper.rb') { "spec" }
14
+
15
+ end
16
+
17
+ guard 'yard' do
18
+ watch(%r{app/.+\.rb})
19
+ watch(%r{lib/.+\.rb})
20
+ watch(%r{ext/.+\.c})
21
+ end
data/Guardfile.tmux ADDED
@@ -0,0 +1,28 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ guard 'bundler' do
5
+ watch('Gemfile')
6
+ # Uncomment next line if Gemfile contain `gemspec' command
7
+ # watch(/^.+\.gemspec/)
8
+ end
9
+
10
+ guard 'rspec', :version => 2 do
11
+ watch(%r{^spec/.+_spec\.rb$})
12
+ watch(%r{^lib/[^\/]+\/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
13
+ watch('spec/spec_helper.rb') { "spec" }
14
+
15
+ end
16
+
17
+ guard 'yard' do
18
+ watch(%r{app/.+\.rb})
19
+ watch(%r{lib/.+\.rb})
20
+ watch(%r{ext/.+\.c})
21
+ end
22
+
23
+ notification :tmux,
24
+ :display_message => true,
25
+ :timeout => 5,
26
+ :default_message_format => '%s >> %s',
27
+ :line_separator => ' > '
28
+
data/README.markdown ADDED
@@ -0,0 +1,67 @@
1
+ <!-- vim: spell:spelllang=en tw=80
2
+ Yard markup
3
+ # @markup markdown
4
+ # @title README
5
+ -->
6
+
7
+ Overview
8
+ =======
9
+
10
+ This gem implements the core functionalities of the LIMS (Laboratory Information Management System).
11
+ It's not meant to be a stand alone application but the core library of the LIMS
12
+ server.
13
+
14
+ For more information consult the documentation.
15
+
16
+ Installation
17
+ ============
18
+
19
+ gem install lims-core
20
+
21
+ Or, if you are using [bundler](http://gembundler.com/) , add the following line
22
+
23
+ gem :lims-core, :git => "git+ssh://git@github.com/sanger/lims-core.git'
24
+
25
+ in your `Gemfile`.
26
+
27
+ Documentation
28
+ =============
29
+ The documentation is generated using [yard](http://yardoc.org/index.html) and can
30
+ be found under the `doc/` directory or using a `yard server`
31
+
32
+ Developers Guide
33
+ ================
34
+ Gem requirements
35
+ ----------------
36
+ Ideally each should be loadable on its own. This mean that every file should
37
+ require everything it needs. The exception is for gems re-opening ruby basic
38
+ classes as facet do. The common requirements are grouped in the `lib/common.rb`
39
+ file.
40
+
41
+ For the user convenience, requiring a directory should requires everything
42
+ underneath. However, requiring `lims-core` will require `Persistence`, but not
43
+ the subdirectories of it (specific to each different stores like `Sequel`, or
44
+ `Logger`). This to not force to install all the dependencies specific to each
45
+ store.
46
+
47
+ Documentation Guide
48
+ -------------------
49
+
50
+ The documentation is written using [yard](http://yardoc.org/index.html).
51
+ It allows to write documentation within the doc and add *typing* hints/
52
+ expectations.
53
+ The recommended format for stand alone documentation files is
54
+ [markdown](http://daringfireball.net/projects/markdown/), however
55
+ it's easier to keep the native markup language used by **yard**, i.e. the
56
+ [rdoc](http://rdoc.sourceforge.net/) one.
57
+ This allows the code to be parsed via **rdoc** and doesn't need the extra spaces at
58
+ the end of a line needed by **markdown**.
59
+
60
+ However, when the usage of pure **markdown** seems appropriate, it's still
61
+ possible to the use `@markup` switch.
62
+
63
+ Some documentation can also be added in the specs.
64
+
65
+ Tests
66
+ -----
67
+ We are using [rspec](http://rspec.info/).