Method: Mmi::Source::Github#initialize

Defined in:
lib/mmi/source/github.rb

#initialize(options) ⇒ Github

Returns a new instance of Github.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/mmi/source/github.rb', line 15

def initialize(options)
	@options = options
	
	@owner       = options['owner'      ]
	@repo        = options['repo'       ]
	@asset_id    = options['asset_id'   ]
	@release     = options['release'    ]
	@file        = options['file'       ]
	@install_dir = options['install_dir']
	@filename    = options['filename'   ]
	
	if self.owner
		if self.repo
			if self.install_dir
				if self.asset_id
					# Pass.
				else
					if self.release
						if self.file
							# Pass.
						else
							raise Mmi::MissingAttributeError, 'Missing "source.file" from asset because "source.asset_id" is not provided.'
						end
					else
						raise Mmi::MissingAttributeError, 'Missing "source.release" from asset because "source.asset_id" is not provided.'
					end
				end
			else
				raise Mmi::MissingAttributeError, 'Missing "source.install_dir" from asset.'
			end
		else
			raise Mmi::MissingAttributeError, 'Missing "source.repo" from asset.'
		end
	else
		raise Mmi::MissingAttributeError, 'Missing "source.owner" from asset.'
	end
end