exif 1.0.1 → 2.0.0
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.
- checksums.yaml +4 -4
- data/ext/exif/data.c +166 -559
- data/ext/exif/data.h +1 -18
- data/ext/exif/exif.c +8 -2
- data/ext/exif/exif_entry_to_ivar.c +451 -0
- data/ext/exif/extconf.rb +2 -0
- data/ext/exif/libjpeg/jpeg-data.c +490 -0
- data/ext/exif/libjpeg/jpeg-data.h +92 -0
- data/ext/exif/libjpeg/jpeg-marker.c +122 -0
- data/ext/exif/libjpeg/jpeg-marker.h +103 -0
- data/lib/exif.rb +2 -0
- data/lib/exif/version.rb +3 -1
- metadata +23 -36
- data/.gitignore +0 -14
- data/.rspec +0 -2
- data/.travis.yml +0 -6
- data/Gemfile +0 -2
- data/LICENSE.txt +0 -22
- data/README.md +0 -226
- data/Rakefile +0 -11
- data/benchmark/benchmark.rb +0 -19
- data/exif.gemspec +0 -26
- data/ext/exif/exif.h +0 -6
- data/spec/exif_spec.rb +0 -14
- data/spec/sample.jpg +0 -0
- data/spec/spec_helper.rb +0 -89
@@ -0,0 +1,92 @@
|
|
1
|
+
/* jpeg-data.h
|
2
|
+
*
|
3
|
+
* Copyright � 2001 Lutz M�ller <lutz@users.sourceforge.net>
|
4
|
+
*
|
5
|
+
* This library is free software; you can redistribute it and/or
|
6
|
+
* modify it under the terms of the GNU Lesser General Public
|
7
|
+
* License as published by the Free Software Foundation; either
|
8
|
+
* version 2 of the License, or (at your option) any later version.
|
9
|
+
*
|
10
|
+
* This library is distributed in the hope that it will be useful,
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
* Lesser General Public License for more details.
|
14
|
+
*
|
15
|
+
* You should have received a copy of the GNU Lesser General Public
|
16
|
+
* License along with this library; if not, write to the
|
17
|
+
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
18
|
+
* Boston, MA 02110-1301 USA.
|
19
|
+
*/
|
20
|
+
|
21
|
+
#ifndef __JPEG_DATA_H__
|
22
|
+
#define __JPEG_DATA_H__
|
23
|
+
|
24
|
+
#include "libjpeg/jpeg-marker.h"
|
25
|
+
|
26
|
+
#include <libexif/exif-data.h>
|
27
|
+
#include <libexif/exif-log.h>
|
28
|
+
|
29
|
+
typedef ExifData * JPEGContentAPP1;
|
30
|
+
|
31
|
+
typedef struct _JPEGContentGeneric JPEGContentGeneric;
|
32
|
+
struct _JPEGContentGeneric
|
33
|
+
{
|
34
|
+
unsigned char *data;
|
35
|
+
unsigned int size;
|
36
|
+
};
|
37
|
+
|
38
|
+
typedef union _JPEGContent JPEGContent;
|
39
|
+
union _JPEGContent
|
40
|
+
{
|
41
|
+
JPEGContentGeneric generic;
|
42
|
+
JPEGContentAPP1 app1;
|
43
|
+
};
|
44
|
+
|
45
|
+
typedef struct _JPEGSection JPEGSection;
|
46
|
+
struct _JPEGSection
|
47
|
+
{
|
48
|
+
JPEGMarker marker;
|
49
|
+
JPEGContent content;
|
50
|
+
};
|
51
|
+
|
52
|
+
typedef struct _JPEGData JPEGData;
|
53
|
+
typedef struct _JPEGDataPrivate JPEGDataPrivate;
|
54
|
+
|
55
|
+
struct _JPEGData
|
56
|
+
{
|
57
|
+
JPEGSection *sections;
|
58
|
+
unsigned int count;
|
59
|
+
|
60
|
+
unsigned char *data;
|
61
|
+
unsigned int size;
|
62
|
+
|
63
|
+
JPEGDataPrivate *priv;
|
64
|
+
};
|
65
|
+
|
66
|
+
JPEGData *jpeg_data_new (void);
|
67
|
+
JPEGData *jpeg_data_new_from_file (const char *path);
|
68
|
+
JPEGData *jpeg_data_new_from_data (const unsigned char *data,
|
69
|
+
unsigned int size);
|
70
|
+
|
71
|
+
void jpeg_data_ref (JPEGData *data);
|
72
|
+
void jpeg_data_unref (JPEGData *data);
|
73
|
+
void jpeg_data_free (JPEGData *data);
|
74
|
+
|
75
|
+
void jpeg_data_load_data (JPEGData *data, const unsigned char *d,
|
76
|
+
unsigned int size);
|
77
|
+
void jpeg_data_save_data (JPEGData *data, unsigned char **d,
|
78
|
+
unsigned int *size);
|
79
|
+
|
80
|
+
void jpeg_data_load_file (JPEGData *data, const char *path);
|
81
|
+
int jpeg_data_save_file (JPEGData *data, const char *path);
|
82
|
+
|
83
|
+
void jpeg_data_set_exif_data (JPEGData *data, ExifData *exif_data);
|
84
|
+
ExifData *jpeg_data_get_exif_data (JPEGData *data);
|
85
|
+
|
86
|
+
void jpeg_data_dump (JPEGData *data);
|
87
|
+
|
88
|
+
void jpeg_data_append_section (JPEGData *data);
|
89
|
+
|
90
|
+
void jpeg_data_log (JPEGData *data, ExifLog *log);
|
91
|
+
|
92
|
+
#endif /* __JPEG_DATA_H__ */
|
@@ -0,0 +1,122 @@
|
|
1
|
+
/* jpeg-marker.c
|
2
|
+
*
|
3
|
+
* Copyright � 2001-2008 Lutz M�ller <lutz@users.sourceforge.net>
|
4
|
+
*
|
5
|
+
* This library is free software; you can redistribute it and/or
|
6
|
+
* modify it under the terms of the GNU Lesser General Public
|
7
|
+
* License as published by the Free Software Foundation; either
|
8
|
+
* version 2 of the License, or (at your option) any later version.
|
9
|
+
*
|
10
|
+
* This library is distributed in the hope that it will be useful,
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
* Lesser General Public License for more details.
|
14
|
+
*
|
15
|
+
* You should have received a copy of the GNU Lesser General Public
|
16
|
+
* License along with this library; if not, write to the
|
17
|
+
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
18
|
+
* Boston, MA 02110-1301 USA.
|
19
|
+
*/
|
20
|
+
#include "config.h"
|
21
|
+
#include "jpeg-marker.h"
|
22
|
+
|
23
|
+
#include <stdlib.h>
|
24
|
+
|
25
|
+
static const struct {
|
26
|
+
JPEGMarker marker;
|
27
|
+
const char *name;
|
28
|
+
const char *description;
|
29
|
+
} JPEGMarkerTable[] = {
|
30
|
+
{JPEG_MARKER_SOF0, "SOF0", "Encoding (baseline)"},
|
31
|
+
{JPEG_MARKER_SOF1, "SOF1", "Encoding (extended sequential)"},
|
32
|
+
{JPEG_MARKER_SOF2, "SOF2", "Encoding (progressive)"},
|
33
|
+
{JPEG_MARKER_SOF3, "SOF3", "Encoding (lossless)"},
|
34
|
+
{JPEG_MARKER_SOF5, "SOF5", "Encoding (differential sequential)"},
|
35
|
+
{JPEG_MARKER_SOF6, "SOF6", "Encoding (differential progressive)"},
|
36
|
+
{JPEG_MARKER_SOF7, "SOF7", "Encoding (differential lossless)"},
|
37
|
+
{JPEG_MARKER_SOF9, "SOF9",
|
38
|
+
"Encoding (extended sequential, arithmetic)"},
|
39
|
+
{JPEG_MARKER_SOF10, "SOF10", "Encoding (progressive, arithmetic)"},
|
40
|
+
{JPEG_MARKER_SOF11, "SOF11", "Encoding (lossless, arithmetic)"},
|
41
|
+
{JPEG_MARKER_SOF13, "SOF13",
|
42
|
+
"Encoding (differential sequential, arithmetic)"},
|
43
|
+
{JPEG_MARKER_SOF14, "SOF14",
|
44
|
+
"Encoding (differential progressive, arithmetic)"},
|
45
|
+
{JPEG_MARKER_SOF15, "SOF15",
|
46
|
+
"Encoding (differential lossless, arithmetic)"},
|
47
|
+
{JPEG_MARKER_SOI, "SOI", "Start of image"},
|
48
|
+
{JPEG_MARKER_EOI, "EOI", "End of image"},
|
49
|
+
{JPEG_MARKER_SOS, "SOS", "Start of scan"},
|
50
|
+
{JPEG_MARKER_COM, "COM", "Comment"},
|
51
|
+
{JPEG_MARKER_DHT, "DHT", "Define Huffman table"},
|
52
|
+
{JPEG_MARKER_JPG, "JPG", "Extension"},
|
53
|
+
{JPEG_MARKER_DAC, "DAC", "Define arithmetic coding conditioning"},
|
54
|
+
{JPEG_MARKER_RST1, "RST1", "Restart 1"},
|
55
|
+
{JPEG_MARKER_RST2, "RST2", "Restart 2"},
|
56
|
+
{JPEG_MARKER_RST3, "RST3", "Restart 3"},
|
57
|
+
{JPEG_MARKER_RST4, "RST4", "Restart 4"},
|
58
|
+
{JPEG_MARKER_RST5, "RST5", "Restart 5"},
|
59
|
+
{JPEG_MARKER_RST6, "RST6", "Restart 6"},
|
60
|
+
{JPEG_MARKER_RST7, "RST7", "Restart 7"},
|
61
|
+
{JPEG_MARKER_DQT, "DQT", "Define quantization table"},
|
62
|
+
{JPEG_MARKER_DNL, "DNL", "Define number of lines"},
|
63
|
+
{JPEG_MARKER_DRI, "DRI", "Define restart interval"},
|
64
|
+
{JPEG_MARKER_DHP, "DHP", "Define hierarchical progression"},
|
65
|
+
{JPEG_MARKER_EXP, "EXP", "Expand reference component"},
|
66
|
+
{JPEG_MARKER_APP0, "APP0", "Application segment 0"},
|
67
|
+
{JPEG_MARKER_APP1, "APP1", "Application segment 1"},
|
68
|
+
{JPEG_MARKER_APP2, "APP2", "Application segment 2"},
|
69
|
+
{JPEG_MARKER_APP3, "APP3", "Application segment 3"},
|
70
|
+
{JPEG_MARKER_APP4, "APP4", "Application segment 4"},
|
71
|
+
{JPEG_MARKER_APP5, "APP5", "Application segment 5"},
|
72
|
+
{JPEG_MARKER_APP6, "APP6", "Application segment 6"},
|
73
|
+
{JPEG_MARKER_APP7, "APP7", "Application segment 7"},
|
74
|
+
{JPEG_MARKER_APP8, "APP8", "Application segment 8"},
|
75
|
+
{JPEG_MARKER_APP9, "APP9", "Application segment 9"},
|
76
|
+
{JPEG_MARKER_APP10, "APP10", "Application segment 10"},
|
77
|
+
{JPEG_MARKER_APP11, "APP11", "Application segment 11"},
|
78
|
+
{JPEG_MARKER_APP12, "APP12", "Application segment 12"},
|
79
|
+
{JPEG_MARKER_APP13, "APP13", "Application segment 13"},
|
80
|
+
{JPEG_MARKER_APP14, "APP14", "Application segment 14"},
|
81
|
+
{JPEG_MARKER_APP15, "APP15", "Application segment 15"},
|
82
|
+
{JPEG_MARKER_JPG0, "JPG0", "Extension 0"},
|
83
|
+
{JPEG_MARKER_JPG1, "JPG1", "Extension 1"},
|
84
|
+
{JPEG_MARKER_JPG2, "JPG2", "Extension 2"},
|
85
|
+
{JPEG_MARKER_JPG3, "JPG3", "Extension 3"},
|
86
|
+
{JPEG_MARKER_JPG4, "JPG4", "Extension 4"},
|
87
|
+
{JPEG_MARKER_JPG5, "JPG5", "Extension 5"},
|
88
|
+
{JPEG_MARKER_JPG6, "JPG6", "Extension 6"},
|
89
|
+
{JPEG_MARKER_JPG7, "JPG7", "Extension 7"},
|
90
|
+
{JPEG_MARKER_JPG8, "JPG8", "Extension 8"},
|
91
|
+
{JPEG_MARKER_JPG9, "JPG9", "Extension 9"},
|
92
|
+
{JPEG_MARKER_JPG10, "JPG10", "Extension 10"},
|
93
|
+
{JPEG_MARKER_JPG11, "JPG11", "Extension 11"},
|
94
|
+
{JPEG_MARKER_JPG12, "JPG12", "Extension 12"},
|
95
|
+
{JPEG_MARKER_JPG13, "JPG13", "Extension 13"},
|
96
|
+
{0, NULL, NULL}
|
97
|
+
};
|
98
|
+
|
99
|
+
const char *
|
100
|
+
jpeg_marker_get_name (JPEGMarker marker)
|
101
|
+
{
|
102
|
+
unsigned int i;
|
103
|
+
|
104
|
+
for (i = 0; JPEGMarkerTable[i].name; i++)
|
105
|
+
if (JPEGMarkerTable[i].marker == marker)
|
106
|
+
break;
|
107
|
+
|
108
|
+
return (JPEGMarkerTable[i].name);
|
109
|
+
}
|
110
|
+
|
111
|
+
const char *
|
112
|
+
jpeg_marker_get_description (JPEGMarker marker)
|
113
|
+
{
|
114
|
+
unsigned int i;
|
115
|
+
|
116
|
+
for (i = 0; JPEGMarkerTable[i].description; i++)
|
117
|
+
if (JPEGMarkerTable[i].marker == marker)
|
118
|
+
break;
|
119
|
+
|
120
|
+
return (JPEGMarkerTable[i].description);
|
121
|
+
}
|
122
|
+
|
@@ -0,0 +1,103 @@
|
|
1
|
+
/* jpeg-marker.h
|
2
|
+
*
|
3
|
+
* Copyright � 2001 Lutz M�ller <lutz@users.sourceforge.net>
|
4
|
+
*
|
5
|
+
* This library is free software; you can redistribute it and/or
|
6
|
+
* modify it under the terms of the GNU Lesser General Public
|
7
|
+
* License as published by the Free Software Foundation; either
|
8
|
+
* version 2 of the License, or (at your option) any later version.
|
9
|
+
*
|
10
|
+
* This library is distributed in the hope that it will be useful,
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
* Lesser General Public License for more details.
|
14
|
+
*
|
15
|
+
* You should have received a copy of the GNU Lesser General Public
|
16
|
+
* License along with this library; if not, write to the
|
17
|
+
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
18
|
+
* Boston, MA 02110-1301 USA.
|
19
|
+
*/
|
20
|
+
#ifndef __JPEG_MARKER_H__
|
21
|
+
#define __JPEG_MARKER_H__
|
22
|
+
|
23
|
+
#ifdef __cplusplus
|
24
|
+
extern "C" {
|
25
|
+
#endif /* __cplusplus */
|
26
|
+
|
27
|
+
typedef enum {
|
28
|
+
JPEG_MARKER_SOF0 = 0xc0,
|
29
|
+
JPEG_MARKER_SOF1 = 0xc1,
|
30
|
+
JPEG_MARKER_SOF2 = 0xc2,
|
31
|
+
JPEG_MARKER_SOF3 = 0xc3,
|
32
|
+
JPEG_MARKER_DHT = 0xc4,
|
33
|
+
JPEG_MARKER_SOF5 = 0xc5,
|
34
|
+
JPEG_MARKER_SOF6 = 0xc6,
|
35
|
+
JPEG_MARKER_SOF7 = 0xc7,
|
36
|
+
JPEG_MARKER_JPG = 0xc8,
|
37
|
+
JPEG_MARKER_SOF9 = 0xc9,
|
38
|
+
JPEG_MARKER_SOF10 = 0xca,
|
39
|
+
JPEG_MARKER_SOF11 = 0xcb,
|
40
|
+
JPEG_MARKER_DAC = 0xcc,
|
41
|
+
JPEG_MARKER_SOF13 = 0xcd,
|
42
|
+
JPEG_MARKER_SOF14 = 0xce,
|
43
|
+
JPEG_MARKER_SOF15 = 0xcf,
|
44
|
+
JPEG_MARKER_RST0 = 0xd0,
|
45
|
+
JPEG_MARKER_RST1 = 0xd1,
|
46
|
+
JPEG_MARKER_RST2 = 0xd2,
|
47
|
+
JPEG_MARKER_RST3 = 0xd3,
|
48
|
+
JPEG_MARKER_RST4 = 0xd4,
|
49
|
+
JPEG_MARKER_RST5 = 0xd5,
|
50
|
+
JPEG_MARKER_RST6 = 0xd6,
|
51
|
+
JPEG_MARKER_RST7 = 0xd7,
|
52
|
+
JPEG_MARKER_SOI = 0xd8,
|
53
|
+
JPEG_MARKER_EOI = 0xd9,
|
54
|
+
JPEG_MARKER_SOS = 0xda,
|
55
|
+
JPEG_MARKER_DQT = 0xdb,
|
56
|
+
JPEG_MARKER_DNL = 0xdc,
|
57
|
+
JPEG_MARKER_DRI = 0xdd,
|
58
|
+
JPEG_MARKER_DHP = 0xde,
|
59
|
+
JPEG_MARKER_EXP = 0xdf,
|
60
|
+
JPEG_MARKER_APP0 = 0xe0,
|
61
|
+
JPEG_MARKER_APP1 = 0xe1,
|
62
|
+
JPEG_MARKER_APP2 = 0xe2,
|
63
|
+
JPEG_MARKER_APP3 = 0xe3,
|
64
|
+
JPEG_MARKER_APP4 = 0xe4,
|
65
|
+
JPEG_MARKER_APP5 = 0xe5,
|
66
|
+
JPEG_MARKER_APP6 = 0xe6,
|
67
|
+
JPEG_MARKER_APP7 = 0xe7,
|
68
|
+
JPEG_MARKER_APP8 = 0xe8,
|
69
|
+
JPEG_MARKER_APP9 = 0xe9,
|
70
|
+
JPEG_MARKER_APP10 = 0xea,
|
71
|
+
JPEG_MARKER_APP11 = 0xeb,
|
72
|
+
JPEG_MARKER_APP12 = 0xec,
|
73
|
+
JPEG_MARKER_APP13 = 0xed,
|
74
|
+
JPEG_MARKER_APP14 = 0xee,
|
75
|
+
JPEG_MARKER_APP15 = 0xef,
|
76
|
+
JPEG_MARKER_JPG0 = 0xf0,
|
77
|
+
JPEG_MARKER_JPG1 = 0xf1,
|
78
|
+
JPEG_MARKER_JPG2 = 0xf2,
|
79
|
+
JPEG_MARKER_JPG3 = 0xf3,
|
80
|
+
JPEG_MARKER_JPG4 = 0xf4,
|
81
|
+
JPEG_MARKER_JPG5 = 0xf5,
|
82
|
+
JPEG_MARKER_JPG6 = 0xf6,
|
83
|
+
JPEG_MARKER_JPG7 = 0xf7,
|
84
|
+
JPEG_MARKER_JPG8 = 0xf8,
|
85
|
+
JPEG_MARKER_JPG9 = 0xf9,
|
86
|
+
JPEG_MARKER_JPG10 = 0xfa,
|
87
|
+
JPEG_MARKER_JPG11 = 0xfb,
|
88
|
+
JPEG_MARKER_JPG12 = 0xfc,
|
89
|
+
JPEG_MARKER_JPG13 = 0xfd,
|
90
|
+
JPEG_MARKER_COM = 0xfe
|
91
|
+
} JPEGMarker;
|
92
|
+
|
93
|
+
#define JPEG_IS_MARKER(m) (((m) >= JPEG_MARKER_SOF0) && \
|
94
|
+
((m) <= JPEG_MARKER_COM))
|
95
|
+
|
96
|
+
const char *jpeg_marker_get_name (JPEGMarker marker);
|
97
|
+
const char *jpeg_marker_get_description (JPEGMarker marker);
|
98
|
+
|
99
|
+
#ifdef __cplusplus
|
100
|
+
}
|
101
|
+
#endif /* __cplusplus */
|
102
|
+
|
103
|
+
#endif /* __JPEG_MARKER_H__ */
|
data/lib/exif.rb
CHANGED
data/lib/exif/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: exif
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jian Weihang
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-09-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,83 +16,74 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 1.15.4
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 1.15.4
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 12.0.0
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 12.0.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake-compiler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 1.0.4
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 1.0.4
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: minitest
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 5.10.3
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 5.10.3
|
69
69
|
description: Ruby EXIF reader written in C extension.
|
70
|
-
email:
|
71
|
-
- tonytonyjan@gmail.com
|
70
|
+
email: tonytonyjan@gmail.com
|
72
71
|
executables: []
|
73
72
|
extensions:
|
74
73
|
- ext/exif/extconf.rb
|
75
74
|
extra_rdoc_files: []
|
76
75
|
files:
|
77
|
-
- ".gitignore"
|
78
|
-
- ".rspec"
|
79
|
-
- ".travis.yml"
|
80
|
-
- Gemfile
|
81
|
-
- LICENSE.txt
|
82
|
-
- README.md
|
83
|
-
- Rakefile
|
84
|
-
- benchmark/benchmark.rb
|
85
|
-
- exif.gemspec
|
86
76
|
- ext/exif/data.c
|
87
77
|
- ext/exif/data.h
|
88
78
|
- ext/exif/exif.c
|
89
|
-
- ext/exif/
|
79
|
+
- ext/exif/exif_entry_to_ivar.c
|
90
80
|
- ext/exif/extconf.rb
|
81
|
+
- ext/exif/libjpeg/jpeg-data.c
|
82
|
+
- ext/exif/libjpeg/jpeg-data.h
|
83
|
+
- ext/exif/libjpeg/jpeg-marker.c
|
84
|
+
- ext/exif/libjpeg/jpeg-marker.h
|
91
85
|
- lib/exif.rb
|
92
86
|
- lib/exif/version.rb
|
93
|
-
- spec/exif_spec.rb
|
94
|
-
- spec/sample.jpg
|
95
|
-
- spec/spec_helper.rb
|
96
87
|
homepage: https://github.com/tonytonyjan/exif
|
97
88
|
licenses:
|
98
89
|
- MIT
|
@@ -113,12 +104,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
113
104
|
version: '0'
|
114
105
|
requirements: []
|
115
106
|
rubyforge_project:
|
116
|
-
rubygems_version: 2.
|
107
|
+
rubygems_version: 2.6.12
|
117
108
|
signing_key:
|
118
109
|
specification_version: 4
|
119
110
|
summary: Ruby EXIF reader written in C extension.
|
120
|
-
test_files:
|
121
|
-
- spec/exif_spec.rb
|
122
|
-
- spec/sample.jpg
|
123
|
-
- spec/spec_helper.rb
|
124
|
-
has_rdoc:
|
111
|
+
test_files: []
|