alfresco4r 0.0.2 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c4e2564764b7d34e2d964a3e5b6b3902ac5ae509
4
+ data.tar.gz: 689227a6441f259bc6cee1e0caa29a477e0e16be
5
+ SHA512:
6
+ metadata.gz: 048b75c29e331be0869cee05a63ccd8c4a4e9a578217b8a89adbfc0c3fc0cff7efa59fe801716d1e4f59bb3141b8096471ff52eb94a737c9b2bfbe20902cc3ce
7
+ data.tar.gz: 8e0806659e4333338fa7a7ae7571f46b78c17fce3c5a5b8bd2c70c8e7a742926db6b92a005b5d157c45af6529285e3b8050e1f6e98708c8e0417c72df7422e1e
@@ -0,0 +1,3 @@
1
+ require 'alfresco4r/abstract_service'
2
+ require 'alfresco4r/document_download'
3
+ require 'alfresco4r/document_upload'
@@ -0,0 +1,140 @@
1
+ require 'net/http'
2
+ require 'uri'
3
+ require 'yaml'
4
+
5
+ module Alfresco4r
6
+ class AbstractAlfrescoService
7
+ BOUNDARY = "AaB03x"
8
+ attr_reader :options,:request,:uri,:http
9
+
10
+ def initialize(options)
11
+ @options = options
12
+ self_class = self.class.name
13
+ klass_url = self_class.concat("Url")
14
+ @auth_obj = DocumentAuth.new(options)
15
+ @url_obj = klass_url == "Alfresco4r::DocumentDownloadUrl" ? DocumentDownloadUrl.new(options) : DocumentUploadUrl.new(options)
16
+ self_class.include?('Upload') ? post_object : get_object
17
+ end
18
+
19
+ def post_object
20
+ @uri = URI(@url_obj.url)
21
+ @request = Net::HTTP::Post.new(@uri.path)
22
+ @request.basic_auth @auth_obj.username, @auth_obj.password
23
+ end
24
+
25
+ def get_object
26
+ @uri = URI(@url_obj.url(node))
27
+ @uri.query = URI.encode_www_form( { :a => 'true' } )
28
+ @http = Net::HTTP.new(@uri.host, @uri.port)
29
+ @request = Net::HTTP::Get.new(@uri.request_uri)
30
+ @request.basic_auth @auth_obj.username, @auth_obj.password
31
+ end
32
+
33
+ def siteid
34
+ @siteid = options[:siteid]
35
+ end
36
+
37
+ def containerid
38
+ @containerid = options[:containerid]
39
+ end
40
+
41
+ def uploaddirectory
42
+ @uploaddirectory = options[:uploaddirectory]
43
+ end
44
+
45
+ def filedata
46
+ @filedata = options[:filedata]
47
+ end
48
+
49
+ def mime_type
50
+ @mime_type = options[:mime_type]
51
+ end
52
+
53
+ def full_file_name
54
+ @full_file_name = options[:full_file_name]
55
+ end
56
+
57
+ def node
58
+ @node = options[:node]
59
+ end
60
+
61
+
62
+ end
63
+
64
+ class DocumentAuth
65
+ def initialize(options)
66
+ @options = options
67
+ end
68
+
69
+ def username
70
+ username = @options.has_key?(:username) ? @options[:username] : ""
71
+ return username
72
+ end
73
+
74
+ def password
75
+ password = @options.has_key?(:password) ? @options[:password] : ""
76
+ return password
77
+ end
78
+ end
79
+
80
+ class DocumentUploadUrl
81
+ def initialize(options)
82
+ @options = options
83
+ end
84
+
85
+ def url
86
+ upload_url = @options[:upload_url]
87
+ return upload_url.to_s
88
+ end
89
+ end
90
+
91
+ class DocumentDownloadUrl
92
+ def initialize(options)
93
+ @options = options
94
+ end
95
+
96
+ def url(node_id)
97
+ download_url = @options[:download_url].concat("/").concat(node_id).strip
98
+ return download_url.to_s
99
+ end
100
+ end
101
+
102
+
103
+
104
+ class AlfUnknownException
105
+ attr_reader :message,:status
106
+ def initialize(msg)
107
+ @message = msg
108
+ @status = "Failure"
109
+ end
110
+ end
111
+
112
+ class AlfSucess
113
+ attr_reader :node,:filename,:message,:status,:uploaddirectory
114
+ def initialize(node,filename,desc)
115
+ @node = node.split("/").last
116
+ @filename = filename
117
+ @message = desc
118
+ @status = "Success"
119
+ @uploaddirectory = ''
120
+ end
121
+ end
122
+
123
+ class AlfError
124
+ attr_reader :message,:status
125
+ def initialize(msg)
126
+ @message = msg
127
+ @status = "Failure"
128
+ end
129
+ end
130
+
131
+ class AlfSucessStream
132
+ attr_reader :data_stream,:message,:status
133
+ def initialize(data_stream,desc=nil)
134
+ @data_stream = data_stream
135
+ @message = desc
136
+ @status = "Success"
137
+ end
138
+
139
+ end
140
+ end
@@ -5,10 +5,10 @@
5
5
  # Description: This file gives ability to download document from Alfresco
6
6
  ################################################################################
7
7
 
8
- require 'alfresco4r'
8
+ require 'alfresco4r/abstract_service'
9
9
 
10
10
  module Alfresco4r
11
- class DocumentDownload < AbstractAlfrescoService
11
+ class DocumentDownload < Alfresco4r::AbstractAlfrescoService
12
12
  EXPECTED_PARAMS = [:download_url,:node]
13
13
 
14
14
  attr_reader :data_stream
@@ -6,10 +6,10 @@
6
6
  ################################################################################
7
7
 
8
8
  require 'json'
9
- require 'alfresco4r'
9
+ require 'alfresco4r/abstract_service'
10
10
 
11
11
  module Alfresco4r
12
- class DocumentUpload < AbstractAlfrescoService
12
+ class DocumentUpload < Alfresco4r::AbstractAlfrescoService
13
13
  EXPECTED_PARAMS = [:siteid,:containerid,:uploaddirectory,:mime_type,:full_file_name,:filedata,:upload_url]
14
14
 
15
15
 
@@ -1,3 +1,3 @@
1
1
  module Alfresco4r
2
- VERSION = "0.0.2"
2
+ VERSION = "1.0.0"
3
3
  end
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alfresco4r
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
5
- prerelease:
4
+ version: 1.0.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Sivaprakasam Boopathy
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-06-04 00:00:00.000000000 Z
11
+ date: 2016-02-27 00:00:00.000000000 Z
13
12
  dependencies: []
14
13
  description: This gem provides the capability to ruby to interact with Alfresco CMS.
15
14
  This gem is providing two methods upload document to Alfresco and download/retrieve
@@ -20,32 +19,33 @@ executables: []
20
19
  extensions: []
21
20
  extra_rdoc_files: []
22
21
  files:
23
- - lib/alfresco4r/version.rb
24
- - lib/alfresco4r/document_upload.rb
22
+ - lib/alfresco4r.rb
23
+ - lib/alfresco4r/abstract_service.rb
25
24
  - lib/alfresco4r/document_download.rb
25
+ - lib/alfresco4r/document_upload.rb
26
+ - lib/alfresco4r/version.rb
26
27
  homepage: https://github.com/sivaprakasamboopathy/alfresco4r
27
28
  licenses: []
29
+ metadata: {}
28
30
  post_install_message:
29
31
  rdoc_options: []
30
32
  require_paths:
31
33
  - lib
32
34
  - lib/alfresco4r
33
35
  required_ruby_version: !ruby/object:Gem::Requirement
34
- none: false
35
36
  requirements:
36
- - - ! '>='
37
+ - - ">="
37
38
  - !ruby/object:Gem::Version
38
39
  version: '0'
39
40
  required_rubygems_version: !ruby/object:Gem::Requirement
40
- none: false
41
41
  requirements:
42
- - - ! '>='
42
+ - - ">="
43
43
  - !ruby/object:Gem::Version
44
44
  version: '0'
45
45
  requirements: []
46
46
  rubyforge_project:
47
- rubygems_version: 1.8.19
47
+ rubygems_version: 2.2.2
48
48
  signing_key:
49
- specification_version: 3
49
+ specification_version: 4
50
50
  summary: Interaction with Alfresco from Ruby
51
51
  test_files: []