Mailinglist Archive: yast-devel (87 mails)

< Previous Next >
Re: [yast-devel] Feedback needed! Hack Week project to re-define storage-ng API
On Fri, Feb 24, 2017 at 02:56:43PM +0100, Ancor Gonzalez Sosa wrote:

For example, something as simple as this with the typical Ruby behavior
(returning nil)

def compare_fs(partition1, partition2)
partition1.filesystem == partition2.filesystem
end

With the current approach of rescuing exceptions or using the check
method in advance (assuming that particular check method exist).

def compare_fs(partition1, partition2)
if partition1.has_filesystem
if partition2.has_filesystem
partition1.filesystem == partition2.filesystem
else
false
end
else
!partition2.has_filesystem
end
end

That can easily be implemented in four lines.

But the use-case for the function is unclear to me. The
filesystems on two differnet partitions are always different
(sid, uuid, ...).

ciao Arvin



The same problem of checking the value of several attributes can be
generalized. Something like this would be quite common in Ruby (and is,
in fact, the principle of many RSpec matchers that we cannot currently use).

def equivalent?(object1, object2, attributes = [])
attributes.each do |attr|
return false if object1.send(attr) != object2.send(attr)
end
true
end

That will crash very easily and most ruby developers wouldn't have
expected because disk.partition_table or partition.filesystem just look
like attributes.

What looks like an attribute? How should they look so that ruby
developers do not expect them to be attributes?

ciao Arvin

--
Arvin Schnell, <aschnell@xxxxxxxx>
Senior Software Engineer, Research & Development
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284
(AG Nürnberg)
Maxfeldstraße 5
90409 Nürnberg
Germany
--
To unsubscribe, e-mail: yast-devel+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: yast-devel+owner@xxxxxxxxxxxx

< Previous Next >