mingle_events 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. data/Gemfile +4 -0
  2. data/LICENSE.txt +202 -0
  3. data/README.textile +117 -0
  4. data/lib/mingle_events.rb +26 -0
  5. data/lib/mingle_events/feed.rb +5 -0
  6. data/lib/mingle_events/feed/author.rb +28 -0
  7. data/lib/mingle_events/feed/category.rb +75 -0
  8. data/lib/mingle_events/feed/element_support.rb +19 -0
  9. data/lib/mingle_events/feed/entry.rb +96 -0
  10. data/lib/mingle_events/feed/page.rb +61 -0
  11. data/lib/mingle_events/http_error.rb +26 -0
  12. data/lib/mingle_events/mingle_basic_auth_access.rb +71 -0
  13. data/lib/mingle_events/mingle_oauth_access.rb +40 -0
  14. data/lib/mingle_events/poller.rb +32 -0
  15. data/lib/mingle_events/processors.rb +10 -0
  16. data/lib/mingle_events/processors/author_filter.rb +62 -0
  17. data/lib/mingle_events/processors/card_data.rb +102 -0
  18. data/lib/mingle_events/processors/card_type_filter.rb +28 -0
  19. data/lib/mingle_events/processors/category_filter.rb +19 -0
  20. data/lib/mingle_events/processors/custom_property_filter.rb +30 -0
  21. data/lib/mingle_events/processors/http_post_publisher.rb +20 -0
  22. data/lib/mingle_events/processors/pipeline.rb +20 -0
  23. data/lib/mingle_events/processors/puts_publisher.rb +17 -0
  24. data/lib/mingle_events/project_custom_properties.rb +33 -0
  25. data/lib/mingle_events/project_event_fetcher.rb +96 -0
  26. data/test/mingle_events/feed/author_test.rb +39 -0
  27. data/test/mingle_events/feed/category_test.rb +20 -0
  28. data/test/mingle_events/feed/entry_test.rb +140 -0
  29. data/test/mingle_events/feed/page_test.rb +82 -0
  30. data/test/mingle_events/poller_test.rb +47 -0
  31. data/test/mingle_events/processors/author_filter_test.rb +80 -0
  32. data/test/mingle_events/processors/card_data_test.rb +210 -0
  33. data/test/mingle_events/processors/card_type_filter_test.rb +51 -0
  34. data/test/mingle_events/processors/category_filter_test.rb +27 -0
  35. data/test/mingle_events/processors/custom_property_filter_test.rb +51 -0
  36. data/test/mingle_events/processors/pipeline_test.rb +32 -0
  37. data/test/mingle_events/project_custom_properties_test.rb +39 -0
  38. data/test/mingle_events/project_event_fetcher_test.rb +122 -0
  39. data/test/test_helper.rb +163 -0
  40. data/test/web_hook_server/web_hook_server.rb +6 -0
  41. metadata +140 -0
metadata ADDED
@@ -0,0 +1,140 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mingle_events
3
+ version: !ruby/object:Gem::Version
4
+ hash: 23
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 4
10
+ version: 0.0.4
11
+ platform: ruby
12
+ authors:
13
+ - David Rice
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-08-05 00:00:00 -07:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: nokogiri
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 0
32
+ version: "0"
33
+ type: :runtime
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: activesupport
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ hash: 3
44
+ segments:
45
+ - 0
46
+ version: "0"
47
+ type: :runtime
48
+ version_requirements: *id002
49
+ description: "\n Mingle 3.3 introduced a new Events API in the form of an \"Atom feed\":http://www.thoughtworks-studios.com/mingle/3.3/help/mingle_api_events.html. The Mingle team and ThoughtWorks Studios are big believers in the use of Atom for exposing events. Atom is a widely used standard, and this event API style puts the issue of robust event delivery in the hands of the consumer, where it belongs. In fact, we'd argue this is the only feasible means of robust, scalable event delivery, short of spending hundreds of thousands or millions of dollars on enterprise buses and such. Atom-delivered events are cheap, scalable, standards-based, and robust.\n\n However, we do accept that asking integrators wishing to consume events to implement polling is not ideal. Writing polling consumers can be tedious. And this tedium gets in the way of writing sweet Mingle integrations. We are addressing this by publishing libraries such as this, which if effective, fully hide the mechanics of event polling from the consumer. The consumer only need worry about the processing of events. Said processing is modeled in the style of 'pipes and filters.' \n "
50
+ email: david.rice at gmail dot com
51
+ executables: []
52
+
53
+ extensions: []
54
+
55
+ extra_rdoc_files:
56
+ - LICENSE.txt
57
+ - README.textile
58
+ files:
59
+ - Gemfile
60
+ - lib/mingle_events/feed/author.rb
61
+ - lib/mingle_events/feed/category.rb
62
+ - lib/mingle_events/feed/element_support.rb
63
+ - lib/mingle_events/feed/entry.rb
64
+ - lib/mingle_events/feed/page.rb
65
+ - lib/mingle_events/feed.rb
66
+ - lib/mingle_events/http_error.rb
67
+ - lib/mingle_events/mingle_basic_auth_access.rb
68
+ - lib/mingle_events/mingle_oauth_access.rb
69
+ - lib/mingle_events/poller.rb
70
+ - lib/mingle_events/processors/author_filter.rb
71
+ - lib/mingle_events/processors/card_data.rb
72
+ - lib/mingle_events/processors/card_type_filter.rb
73
+ - lib/mingle_events/processors/category_filter.rb
74
+ - lib/mingle_events/processors/custom_property_filter.rb
75
+ - lib/mingle_events/processors/http_post_publisher.rb
76
+ - lib/mingle_events/processors/pipeline.rb
77
+ - lib/mingle_events/processors/puts_publisher.rb
78
+ - lib/mingle_events/processors.rb
79
+ - lib/mingle_events/project_custom_properties.rb
80
+ - lib/mingle_events/project_event_fetcher.rb
81
+ - lib/mingle_events.rb
82
+ - LICENSE.txt
83
+ - README.textile
84
+ - test/mingle_events/feed/author_test.rb
85
+ - test/mingle_events/feed/category_test.rb
86
+ - test/mingle_events/feed/entry_test.rb
87
+ - test/mingle_events/feed/page_test.rb
88
+ - test/mingle_events/poller_test.rb
89
+ - test/mingle_events/processors/author_filter_test.rb
90
+ - test/mingle_events/processors/card_data_test.rb
91
+ - test/mingle_events/processors/card_type_filter_test.rb
92
+ - test/mingle_events/processors/category_filter_test.rb
93
+ - test/mingle_events/processors/custom_property_filter_test.rb
94
+ - test/mingle_events/processors/pipeline_test.rb
95
+ - test/mingle_events/project_custom_properties_test.rb
96
+ - test/mingle_events/project_event_fetcher_test.rb
97
+ - test/test_helper.rb
98
+ - test/web_hook_server/web_hook_server.rb
99
+ has_rdoc: true
100
+ homepage: https://github.com/ThoughtWorksStudios/mingle_events
101
+ licenses: []
102
+
103
+ post_install_message:
104
+ rdoc_options:
105
+ - --line-numbers
106
+ - --inline-source
107
+ - --title
108
+ - mingle_events
109
+ - --main
110
+ - README.textile
111
+ require_paths:
112
+ - lib
113
+ required_ruby_version: !ruby/object:Gem::Requirement
114
+ none: false
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ hash: 3
119
+ segments:
120
+ - 0
121
+ version: "0"
122
+ required_rubygems_version: !ruby/object:Gem::Requirement
123
+ none: false
124
+ requirements:
125
+ - - ">="
126
+ - !ruby/object:Gem::Version
127
+ hash: 11
128
+ segments:
129
+ - 1
130
+ - 2
131
+ version: "1.2"
132
+ requirements: []
133
+
134
+ rubyforge_project: mingle_events
135
+ rubygems_version: 1.6.2
136
+ signing_key:
137
+ specification_version: 3
138
+ summary: A gem that lets you process Mingle events in a pipes and filters style.
139
+ test_files: []
140
+