simply_mongo 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. checksums.yaml +7 -0
  2. data/{README.rdoc → README.md} +43 -12
  3. data/RELEASE-NOTES.md +24 -0
  4. data/Rakefile +8 -1
  5. data/lib/generators/simply_mongo/install/install_generator.rb +28 -5
  6. data/lib/generators/simply_mongo/install/templates/mongo.rb +1 -1
  7. data/lib/generators/simply_mongo/install/templates/mongo.yml +11 -7
  8. data/lib/simply_mongo/version.rb +1 -1
  9. data/lib/simply_mongo.rb +1 -0
  10. data/lib/tasks/simply_mongo.rake +7 -0
  11. data/test/enterprise/Gemfile +7 -13
  12. data/test/enterprise/Gemfile.lock +87 -87
  13. data/test/enterprise/app/assets/javascripts/enterprises.js.coffee +1 -1
  14. data/test/enterprise/app/controllers/enterprises_controller.rb +2 -2
  15. data/test/enterprise/bin/bundle +3 -0
  16. data/test/enterprise/bin/rails +4 -0
  17. data/test/enterprise/bin/rake +4 -0
  18. data/test/enterprise/config/application.rb +7 -16
  19. data/test/enterprise/config/database.yml +0 -0
  20. data/test/enterprise/config/environment.rb +2 -0
  21. data/test/enterprise/config/environments/development.rb +1 -9
  22. data/test/enterprise/config/environments/production.rb +3 -1
  23. data/test/enterprise/config/environments/test.rb +1 -2
  24. data/test/enterprise/config/initializers/mongo.rb +1 -1
  25. data/test/enterprise/config/initializers/secret_token.rb +1 -0
  26. data/test/enterprise/config/mongo.yml +14 -10
  27. data/test/enterprise/log/development.log +3768 -690
  28. data/test/enterprise/log/install.log +393 -0
  29. data/test/enterprise/tmp/cache/assets/CF0/DA0/sprockets%2Fd7d5b37686831d37c4dd75e645f5e016 +0 -0
  30. data/test/enterprise/tmp/cache/assets/E25/4C0/sprockets%2Fde2fd9fd11c04a582cdbbe3d84a35ae6 +0 -0
  31. metadata +87 -41
  32. data/lib/tasks/simply_mongo_tasks.rake +0 -4
  33. data/test/cmd_line_client/Enterprise.json +0 -30
  34. data/test/cmd_line_client/client.rb +0 -128
  35. data/test/enterprise/script/rails +0 -6
  36. data/test/enterprise/tmp/pids/server.pid +0 -1
@@ -1,128 +0,0 @@
1
- #
2
- # JSON/Rails/Mongo examples using the only the Mongo Driver in Rails
3
- # This is a contrived example client sending JSON CRUD request to
4
- # Mongo in a Rails Server
5
- #
6
- # Author:: Robert D. Birch
7
- #
8
- require 'json'
9
- require 'net/http'
10
-
11
- module SimplyMongoClient
12
-
13
- BASE_URI= 'http://0.0.0.0:3000/enterprises/'
14
- INPUT_FILE = './Enterprise.json'
15
-
16
- # Reads in a JSON Enterprise document from a flat file.
17
- # The read in JSON document string is sent to the the Rails server as a POST
18
- def SimplyMongoClient.create(enterprise)
19
- request = Net::HTTP::Post.new("/enterprises/create")
20
- request['CONTENT-TYPE'] = 'application/json'
21
- request.body = enterprise
22
- response = Net::HTTP.new('0.0.0.0', 3000).start do |http|
23
- http.request(request)
24
- end
25
- raise IOError, "Network Error #{response.message}" if response.code == 200
26
- return response
27
- end
28
-
29
- # From the Rails server return all the enterprise documents stored in the Mongo Database
30
- def SimplyMongoClient.index
31
- uri = URI(BASE_URI)
32
- response = Net::HTTP.get_response(uri)
33
- raise IOError, "Network Error #{response.message}" if response.code == 200
34
- j = JSON.parse(response.body)
35
- end
36
-
37
- # Get the requested enterprise document
38
- def SimplyMongoClient.show(id)
39
- uri = URI(BASE_URI + "/" + id)
40
- response = Net::HTTP.get_response(uri)
41
- raise IOError, "Network Error #{response.message}" if response.code == 200
42
- j = JSON.parse(response.body)
43
- end
44
-
45
- # Update/Replace the enterprise document on the server
46
- def SimplyMongoClient.update(enterprise)
47
- request = Net::HTTP::Put.new(BASE_URI + enterprise['_id'])
48
- request['CONTENT-TYPE'] = 'application/json'
49
- request.set_form_data(enterprise)
50
- response = Net::HTTP.new('0.0.0.0', 3000).start do |http |
51
- response = http.request(request)
52
- end
53
- raise IOError, "Network Error #{response.message}" if response.code == 200
54
- return response
55
- end
56
-
57
- # Delete the enterprise document with the given id
58
- def SimplyMongoClient.destroy(id)
59
- request = Net::HTTP::Delete.new(BASE_URI + "/" + id)
60
- response = Net::HTTP.new('0.0.0.0', 3000).start do |http |
61
- http.request(request)
62
- end
63
- raise IOError, "Network Error #{response.message}" if response.code == 200
64
- return response
65
- end
66
-
67
- end # SimplyMongoClient
68
-
69
-
70
- ## Contrived set of example statement to create, fetch, update and delete an enterprise document
71
-
72
- # Get all documents and print the count
73
- puts "**LIST**"
74
- j = SimplyMongoClient.index
75
- puts "We start with #{j.count} enterprise documents in the Mongo collection"
76
- puts ""
77
-
78
- # Create an enterprise document
79
- puts "**CREATE**"
80
- fjson = File.open(SimplyMongoClient::INPUT_FILE)
81
- enterprise = ""
82
- fjson.each { |line| enterprise = enterprise + line; }
83
- res = SimplyMongoClient.create enterprise
84
- e = JSON.parse res.body
85
- puts "Created one enterprise document with id: #{e['id']}"
86
- fjson.close
87
- puts ""
88
-
89
- # Fetch and display the recently created enterprise document
90
- puts "**GET**"
91
- puts "Display created enterprise document with id: #{e['id']}"
92
- j = SimplyMongoClient.show e['id']
93
- puts "Show document with id #{e['id']} : #{j}"
94
- puts ""
95
-
96
- # Update/Replay the enterprise document by changing the email address
97
- puts "**UPDATE**"
98
- new_mail = "fflintstone@slaterockandgravel.com"
99
- puts "Update document by changing home email: fflinstone@bedrock.com to : #{new_mail}"
100
- contacts = j['contacts']
101
- contacts.each { |c|
102
- if c['last_name'] == 'Flintstone'
103
- then
104
- c['email'].each { |e|
105
- if e['description'] == "Work Email"
106
- then
107
- puts "CURRENT EMAIL #{e['email']}"
108
- e['email'] = new_mail
109
- puts "NEW EMAIL #{e['email']}"
110
- end
111
- }
112
- end
113
- }
114
- r = SimplyMongoClient.update j
115
- # Fetch and display the recently updateed enterprise document
116
- puts "Display updated enterprise document with id: #{e['id']}"
117
- uj = SimplyMongoClient.show e['id']
118
- puts "Show document with id #{e['id']} : #{uj}"
119
- puts ""
120
-
121
- # Delete the newly created enterprise document
122
- puts "**DELETE**"
123
- puts "Destroy one enterprise document with id: #{e['id']}"
124
- r = SimplyMongoClient.destroy e['id']
125
- puts "Destroy returned with a response code of : #{r.code}"
126
- puts "Show document with id #{e['id']} "
127
- j = SimplyMongoClient.show e['id']
128
- puts "Document id: #{e['id']} should be deleted (empty) => #{j}"
@@ -1,6 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
-
4
- APP_PATH = File.expand_path('../../config/application', __FILE__)
5
- require File.expand_path('../../config/boot', __FILE__)
6
- require 'rails/commands'
@@ -1 +0,0 @@
1
- 16637